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().