CS12, Lab 9

Week of March 4 – March 8

 

 

Topics 

 

·    Projects with multiple classes

·    Inheritance

 

There is very little code to write in this lab.  The challenge here is to look at a project that is composed of multiple files containing three classes that interact in different ways and understand how everything relates.  The files are abundantly commented.   There are three places where a short amount of code needs to be added (and a fourth, longer segment for extra credit).

 

The classes that make up this program and their interactions are as follows:

 

Classes

·    Dice objects generate random numbers between 1 and some upper limit.

·    Balloon objects simulate hot air balloons that can go up or down a random number of feet.

·    AutoBalloon objects are Balloons that can also climb or descend to a specified altitude and cruise around an altitude. 

 

Interactions

·    Both the Balloon class and the AutoBallon Class use the Dice class.

·    The AutoBallon class inherits from the Balloon class.  This means that an AutoBalloon object is everything that a Balloon object is, and then some.

 

To do

 

·    Download the files dice.h dice.cc balloon.h balloon.cc auto.h auto.cc fly.cc and makefile.   The program can be compiled by typing

make fly

but right now it does nothing

 

·    Add the appropriate lines of code to the ascend() and descend() methods of the AutoBalloon class.   The code segments are very short.  Use Balloon methods (recall that AutoBalloons are Balloons) instead of replicating code.

 

·    Add the required lines of code to the main() (in fly.cc).  You need only two statements.

 

·    Run your program several times.  The output will be different each time because of the random rolls of the Dice.

 

 

Extra Credit

 

Complete the AutoBalloon method cruise().  Add a call to the method in the main().