Computer Science 241

Data Structures

Project 7

Due at 11:59 P.M. on Monday, November 24

Overview

The purpose of this project is to implement various operators to make the use of the bowlingAlley class easier to use.

Specifications

You have been provided the header files bowlingAlley.h, bowlingExceptions.h, party.h, and IOExceptions.h defining the classes bowlingAlley and party, and the appropriate exceptions. Your task is to implement the operator member functions for the classes bowlingAlley and party. This code will be contained in the files bowlingAlley.cc and party.cc

As with all projects, you must write a thorough test program for your implementation of these member functions. Your test program should be contained in the file main.cc and should be documented using the "percent block" comments. You only need to test the new operator functions. That is, you may assume that functions implemented in previous projects works correctly.

The Guidelines for Programming Projects apply. You are also subject to the Guidelines for Programming Assignments, issued by the Department of Computer Science as an addendum to The Honor System.

Additional Notes

You should implemented the != operators in terms of the the == operators. Do not create "long" implementations for both.

You must re-implement the copy constructor using the assignment operator. Think carefully about this task. The assignment operator and the copy constructor make different assumptions about the calling instance.

Submit

To submit your files for grading, place all files in the same directory, and at the prompt in that directory enter:

~radu/bin/submit CS241 project7 *.dat

If you are using a slip day for this project, you must submit with:

~radu/bin/submit CS241 project7late *.dat

Your submission will fail if the project does not compile. The submit program does not count slip day usage, but the graders do.

Grading

20 point
bowlingAlley::operator=
10 points each
party::operator==
party::operator!=
bowlingAlley::operator==
bowlingAlley::operator!=
bowlingAlley::bowlingAlley(const bowlingAlley&)
Test Program
Style
Past Sins

The implementation points cover both correctness and efficiency. It is not enough to turn in a program that compiles and executes. The graders will scrutinize the implementation of the member functions and will deduct points for poor design decisions even if your program runs correctly on all reasonable input.

The style points cover poor programming style that needs to be addressed and a lack of useful comments within your program. In addition, graders may deduct style points for implementations that will work but could lead to difficulties or inefficiencies as we proceed on to future assignments.

When grading your test program, the graders will look for evidence that you considered the various implementation issues in this class. Even if your code works, you will be penalized for not testing that it works. This also means that you can lose points twice for the same issue: once in the implementation and again for not performing proper testing (which would have identified the first).

Header Files


Valid XHTML 1.0! Valid CSS!