lab04 : C++ Big-Three Review

num ready? description assigned due
lab04 true C++ Big-Three Review Wed 05/17 03:30PM Tue 05/23 11:59PM

https://ucsb-cs32-s17.github.io/lab/lab04/

Goals

By the end of this lab, given a description of a class containing data members that point to structures on the heap, you will be able to:

Step-by-Step

Step 1: Get the lab04 starter code into your repository directory

In this step, we are going to copy the lab04 starter files from the instructors directory into your ~/cs32/lab04 directory.

The files are in the instructors directory at

~aduncan/public_html/cs32/s17/labs/lab04/*

The * here stands in as a “wildcard” that matches “all files”.

You want to copy these files into your ~/cs32/lab04 directory.

By now you should know (or remember) how to copy files; if you need a refresher, see earlier labs.

Step 2: Getting the test cases to pass for lab04!

Now, we are ready to to work on lab04.

In this week’s lab, you have the following files:

Your job is, as usual, get all the test cases to pass. This involves implementing the “big three”: Copy Constructor, Overloaded Assignment Operator, and Destructor.

In addition to the regular test cases, there are also “leakTests”.
This involves running a utility called valgrind on your code to see whether there are any memory leaks, or other problems involving memory management. You will only pass the tests if your code has proper memory management.

You will submit only the student.cpp and studentRoll.cpp files.
As a result, there are two quite annoying things that you’ll just have to put up with:

In certain later assignments, you will be given the freedom to choose whatever data structure or implementation is appropriate. You’ll be able to decide whether to use std::string, or C-strings, whether to use array or std::vector, etc. This is not one of those assignments.

Suggested way to proceed

I suggest proceeding in the following steps:

How do I know if I’m done?

When you are done, you should be able to do both of the following, and see no error messages:

make tests
make leaktests

Step 3: Submission

To submit, use:

~submit/submit -p 739 student.cpp studentRoll.cpp

Grading