
TextInterface class has already
been implemented. The source code is available but
must not be modified (though you may #include
additional libraries if necessary).
TextInterface ( Header , Implementation )
This class must be in the v2 subdirectory.
Driver2.cpp
(that must be in the DukeDisc directory).
The driver must:
DiscChanger.TextInterface.DiscChanger object using dynamically
allocated memory.TextInterface object using
dynamically allocated memory, passing the constructer
the pointer to the DiscChanger and either the
value true (for verbose mode) or false
(for terse mode). TextInterface object's start()
method.
Since the driver uses both the DiscChanger and
TextInterface classes it must #include
the appropriate header files. In this case it must #include
both v2/TextInterface.h and v1/DiscChanger.h.
makefile may prove to be useful in this
regard:
# Phony target to build all versions # all: v1 v2 # Phony targets for each version # v1: Driver1 v2: Driver2 # Drivers # Driver1: Driver1.o v1/DiscChanger.o v1/Slot.o g++ Driver1.o v1/DiscChanger.o v1/Slot.o -o Driver1 Driver1.o: Driver1.cpp v1/DiscChanger.h g++ -c Driver1.cpp Driver2: Driver2.o v2/TextInterface.o v1/DiscChanger.o v1/Slot.o g++ Driver2.o v2/TextInterface.o v1/DiscChanger.o v1/Slot.o -o Driver2 Driver2.o: Driver2.cpp v2/TextInterface.h v1/DiscChanger.h g++ -c Driver2.cpp # v1 of DiscChanger and Slot # v1/DiscChanger.o: v1/DiscChanger.cpp v1/DiscChanger.h v1/Slot.h g++ -c v1/DiscChanger.cpp -o v1/DiscChanger.o v1/Slot.o: v1/Slot.cpp v1/Slot.h g++ -c v1/Slot.cpp -o v1/Slot.o # v2 of TextInterface # v2/TextInterface.o: v2/TextInterface.cpp v2/TextInterface.h g++ -c v2/TextInterface.cpp -o v2/TextInterface.o
You can build version 2 of DukeDisc
with the command make v2.
Copyright 2010