Writing a new class that is derived from another classyou


Writing a new class that is derived from another class.You will be given the code for a Car class. Your job is to write a CustomCar class that is derived from Car and adds new features to it.The existing Car class will allow you to create a specific model of a car, but that car will always be the color black and have no features.

You need to create a CustomCar class. Put the specification for it in the CustomCar.h file and the implementation for it in the CustomCar.cpp file. The CustomCar class should extend the Car class and have the following new features:

  • It will need to have its own constructor. The constructor should simply call the Car constructor and then set the private features variable to be empty. See the book for an example.
  • It will need a SetColor method. This method should simply set the Car's color. The Car's color is a Protected variable. This means that the derived class can change it.
  • It will need a SetFeatures method. This method should set the features in a private variable of the CustomCar class
  • It will need to have a PrintInfo method. This method should call the existing Car PrintInfo method, and then print the features info after that
  • It will need to have a private features variable to store the text of the features

Test 1 checks for the output of the Red color Work on getting this working first.

Test 2 checks for the output of the features. Work on getting this working next.

Driver Program: Paste this into your main.cpp

// YOUR NAME HERE
#include
#include

#include "Car.h"
#include "CustomCar.h"

using namespace std;


Car *theCars[100];
int theCarsCount = 0;

void AddCarToList(Car* car){
    theCars[theCarsCount] = car;
    theCarsCount++;
}

void PrintCarList(){
    for(int i=0; i        theCars[i]->PrintInfo();
}
  

void main()
{
    // Use this code as is:
    
    cout << "Hello World!" << endl;
    Car *carA = new Car("Basic");
    Car *carB = new Car("Model-T");

    CustomCar *carC = new CustomCar("Sporty");
    carC->SetColor("Red");
    carC->SetFeatures("Sun-Roof & Leather Seats");
    
    AddCarToList(carA);
    AddCarToList(carB);
    AddCarToList(carC);
    
    PrintCarList();    

}

Here is the standard car.h class:

#include

#include

using namespace std;

class Car {

public:

Car(string model);virtual void PrintInfo();

protected:

string Model;string Color;};

Here is standard car.cpp:

#include "Car.h"

Car::Car(string model) {

Model = model;

Color = "Black";

}

void Car::PrintInfo() {

cout << "CAR INFO" << endl;

cout << " Model: " << Model << endl;

cout << " Color: " << Color << endl;

}

 

Request for Solution File

Ask an Expert for Answer!!
Basic Computer Science: Writing a new class that is derived from another classyou
Reference No:- TGS0661019

Expected delivery within 24 Hours