logo Use CA10RAM to get 10%* Discount.
Order Nowlogo
(5/5)

Write the class MemBuf that represents memory in a program in the following manner:

INSTRUCTIONS TO CANDIDATES
ANSWER ALL QUESTIONS
CSC252 Final Solved MemBuf Program 
Write the class MemBuf that represents memory in a program in the following manner:
The MemBuf class has three private data members
 a char* pointer named m_data.
 a size_t variable named m_capacity.
 a size_t variable named m_pos which indicates the position in the char array up to which the MemBuf
is used.
Write a main function that shows the use of every one of the functions you write below. [15]
Write code for the following:
(i) Write a public implementation of an argument based constructor for the class MemBuf that takes a size_t
parameter x and allocates the private internal data member m_data to be large to hold x chars using
operator new. You must then fill the character array m_data with the character ‘0’ completely using a for
loop. (do not use bzero) [5].
(ii) Write a public implementation of a default constructor (no args) of the class MemBuf which allocates a
default buffer of size 1024 bytes. [5]
(iii) Write the destructor for class MemBuf. [3]
(iv) Write a public deep copy constructor for class MemBuf. [5]
(v) Write a public deep copy assignment operator (=) for class MemBuf. [5]
(vi) Write a public getter method to get the variable m_capactity of MemBuf. [1]
(vii) Write a public method called size() which returns the m_pos variable. [1]
(viii) Write a public method alloc on the class which takes a size_t variable len. If m_pos + len exceeds
m_capacity the method should throw an exception of type std:: bad_alloc. If m_pos + len is equal to or less
than m_capacity it should advance m_pos by len and fill the array m_data with the character ‘a’ up to the
new position to indicate ‘allocated’. [5]
(ix) Write a public method dealloc on the class which takes a size_t variable len and moves the position
variable m_pos back by len. If len exceeds the current value of m_pos the method should throw an
exception of type std::runtime_error. If len is less than or equal m_pos it should retard m_pos by len and
fill the emptied part of the array m_data with the character ‘0’ to indicate that it is now unallocated. [5]
(x) Write a global operator<< which prints the contents of the buffer for each location as the 8 bit numeric
ascii value of each char. It should do this for only that part of the buffer which is occupied. [5]
(xi) Write an type conversion operator that returns the m_data data member as a const value.[5]
(5/5)
Attachments:

Expert's Answer

922 Times Downloaded

Related Questions

. Introgramming & Unix Fall 2018, CRN 44882, Oakland University Homework Assignment 6 - Using Arrays and Functions in C

DescriptionIn this final assignment, the students will demonstrate their ability to apply two ma

. The standard path finding involves finding the (shortest) path from an origin to a destination, typically on a map. This is an

Path finding involves finding a path from A to B. Typically we want the path to have certain properties,such as being the shortest or to avoid going t

. Develop a program to emulate a purchase transaction at a retail store. This program will have two classes, a LineItem class and a Transaction class. The LineItem class will represent an individual

Develop a program to emulate a purchase transaction at a retail store. Thisprogram will have two classes, a LineItem class and a Transaction class. Th

. SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of Sea Ports. Here are the classes and their instance variables we wish to define:

1 Project 1 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of

. Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of Sea Ports. Here are the classes and their instance variables we wish to define:

1 Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of

922 Times Downloaded

Ask This Question To Be Solved By Our ExpertsGet A+ Grade Solution Guaranteed

expert
Um e HaniScience

501 Answers

Hire Me
expert
Muhammad Ali HaiderFinance

676 Answers

Hire Me
expert
Husnain SaeedComputer science

654 Answers

Hire Me
expert
Atharva PatilComputer science

676 Answers

Hire Me