$35
Lab 4
Getting Practice with Dynamic Memory
In order to get credit for the lab, you need to be checked off by the end of lab. You can earn a maximum
of 10 points for lab work completed outside of lab time, but you must finish before the next lab. For
extenuating circumstances, contact your lab TAs and the instructor.
For this lab we would like to continue to create the pieces necessary to make a variety of card games
using a standard 52 card deck of playing cards.
(9 pts) The Big Three
In Program 2, you need to handle dynamic memory in your classes. Write the Big Three as needed for
your classes. For example, here are some of the prototypes for the destructor, copy constructor, and
assignment operator overload for the Hand class to get you started.
~Hand();
Hand(const Hand&);
Hand& operator= (const Hand&);
(5 pts) Testing
To get points for the lab, show your TA that all of the functions are working as expected. You should test
that they are called at the appropriate times. This may be done with print statements in the functions to
show it is being called as well as printing the objects before and after the call to show the changes (or
not) that occurred. You should also verify you do not having memory leaks using valgrind.
(1 pt) Makefile
Create a Makefile that compiles all of your .cpp files and makes an executable showing off their
functionality.
Remember, you will not receive lab credit if you do not get checked off by the TA before leaving each
lab. Once you have a zero on a lab, then it cannot be changed because we have no way of knowing if
you were there or not!