Advertisement
ExtremerBG

SimpleClassHierarchy2

Jun 4th, 2024 (edited)
400
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.21 KB | Source Code | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. class mainCarClass {
  5. public:
  6.     mainCarClass(const string& carModel, int carYearOfManifacture) : carModel(carModel), carYearOfManifacture(carYearOfManifacture) {}
  7.     virtual ~mainCarClass() {}
  8.     virtual void displayInfo() const = 0;
  9. protected:
  10.     string carModel;
  11.     int carYearOfManifacture;
  12. };
  13.  
  14. class sportsCar : mainCarClass {
  15. public:
  16.     sportsCar(const string& carModel, int carYearOfManifacture, int horsePower, double price) : mainCarClass(carModel, carYearOfManifacture), horsePower(horsePower), price(price) {}
  17.     virtual void displayInfo() const override {
  18.         cout << "Sports car model: " << carModel << endl;
  19.         cout << "Sports car year of manifacture: " << carYearOfManifacture << endl;
  20.         cout << "Sports car horsepower: " << horsePower << endl;
  21.         cout << "Sports car price: " << price << " USD" << endl;
  22.         cout << endl;
  23.     }
  24. protected:
  25.     int horsePower;
  26.     double price;
  27. };
  28.  
  29. class classicCar : mainCarClass {
  30. public:
  31.     classicCar(const string& carModel, int carYearOfManifacture, const string& condition, bool isWorking) : mainCarClass(carModel, carYearOfManifacture), condition(condition), isWorking(isWorking) {}
  32.     virtual void displayInfo() const override {
  33.         cout << "Classic car model: " << carModel << endl;
  34.         cout << "Classic car year of manifacture: " << carYearOfManifacture << endl;
  35.         cout << "Classic car condition: " << condition << endl;
  36.         if (isWorking == true)
  37.         {
  38.             cout << "Classic car " << carModel << " is working" << endl;
  39.         }
  40.         else
  41.         {
  42.             cout << "Classic car " << carModel << "is not working" << endl;
  43.         }
  44.         cout << endl;
  45.     }
  46. protected:
  47.     string condition;
  48.     bool isWorking;
  49. };
  50.  
  51. int main()
  52. {
  53.     classicCar chevFleet("Chevrolet Fleetmaster", 1946, "Lightly used", true);
  54.     chevFleet.displayInfo();
  55.     classicCar volkBeetle("Volkswagen Type 1 Beetle", 1938, "Heavily used", false);
  56.     volkBeetle.displayInfo();
  57.     sportsCar porsche911("Porsche 911 GT3 RS", 2022, 518, 184550);
  58.     porsche911.displayInfo();
  59.     sportsCar mcLarenP1("McLaren P1", 2013, 903, 1150000);
  60.     mcLarenP1.displayInfo();
  61. }
Tags: C++
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement