Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //
- // Created by Rebecca Carroll on 10/17/16.
- //
- #include "shapes.h"
- #ifndef PROJ4_VEHICLES_H
- #define PROJ4_VEHICLES_H
- enum VehicleType
- {
- badSn, vehicle, car, truck, van, tanker, flatbed
- };
- class Vehicle
- {
- public:
- const char* SerialNumber () const; // returns serial number
- unsigned int PassengerCapacity () const; // returns passenger capacity
- virtual float LoadCapacity () const; // returns 0
- virtual const char* ShortName () const; // returns "UNK"
- virtual float Toll () const; // returns toll using fee schedule
- static VehicleType SnDecode (const char* sn);
- Vehicle();
- Vehicle (const char* sn, unsigned int pc, bool verbose = 0); //parameterized constructor
- virtual ~Vehicle (); //destructor
- private:
- const char * serialNumber_;
- unsigned int passengerCapacity_;
- Vehicle& operator= (const Vehicle&); //assignment operator prototype
- Vehicle (const Vehicle& v); //copy constructor
- protected:
- bool verbose_; // default value 0 given in constructor prototype
- };
- //====================================CAR=======================================//
- class Car: public Vehicle
- {
- public:
- const char* ShortName() const; // returns "CAR"
- Car (); //constructor
- Car (char const* sn, unsigned int pc, bool verbose = 0); //parameterized constructor
- ~Car (); //destructor
- private:
- Car& operator= (const Car&); //assignment operator prototype
- Car (const Car& v); //copy constructor
- };
- //====================================TRUCK=======================================//
- class Truck: public Vehicle
- {
- public:
- const char* ShortName () const; // returns "TRK"
- float Toll () const; // returns toll using fee schedule
- const char* DOTLicense () const; // returns the license no
- Truck (); //constructor
- Truck (char const* sn, unsigned int pc, char const* dot, bool verbose = 0); //parameterized constructor
- virtual ~Truck (); //destructor
- private:
- char* DOTLicense_;
- Truck& operator= (const Truck&); //assignment operator prototype
- Truck (const Truck& v); //copy constructor
- };
- //====================================VAN=======================================//
- class Van: public Truck, public Box
- {
- public:
- float LoadCapacity () const; // returns volume of box
- const char* ShortName () const; // returns "VAN"
- Van (); //constructor
- Van(char const* sn, unsigned int pc, char const* dot, float l, float w, float h, bool v = 0); //parameterized constructor
- virtual ~Van (); //destructor
- private:
- Van& operator= (const Van&); //assignment operator prototype
- Van (const Van& v); //copy constructor
- };
- //====================================TANKER=======================================//
- class Tanker: public Truck, public Cylinder
- {
- public:
- Tanker (); //constructor
- Tanker (char const* sn, unsigned int pc, char const* dot, float l, float r, bool v = 0); //parameterized constructor
- virtual ~Tanker (); //destructor
- float LoadCapacity () const; // returns volume of cylinder
- const char* ShortName () const; // returns "TNK"
- private:
- Tanker& operator= (const Tanker&);//assignment operator prototype
- Tanker (const Tanker& v); //copy constructor
- };
- //====================================FLATBED=======================================//
- class Flatbed: public Truck, public Plane
- {
- public:
- Flatbed (); //constructor
- Flatbed (char const* sn, unsigned int pc, char const* dot, float l, float w, bool verbose = false); //parameterized constructor
- virtual ~Flatbed (); //destructor
- float LoadCapacity () const; // returns area of plane
- const char* ShortName () const; // returns "FLT"
- private:
- Flatbed& operator= (const Flatbed&); //assignment operator prototype
- Flatbed (const Flatbed& v); //copy constructor
- };
- #endif //PROJ4_VEHICLES_H
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement