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]
DescriptionIn this final assignment, the students will demonstrate their ability to apply two ma
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. Thisprogram will have two classes, a LineItem class and a Transaction class. Th
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
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