Create an Abstract "Automobile" class that contains:
• Four private data members:
- make
- model
- mileage
- price (I leave it to you to decide the type)
• "Setters" and "getters" for each of the data (8 functions in total)
• A print function that is pure virtual.
• A sameMake function. This function will have one Automobile argument and a Boolean return type.
2. Create a class "Car" that inherits from the class Automobile:
• This class defines the method print() that displays that the automobile is a car, shows the make, model, mileage, and the price.
• The class has one default constructor (no arguments).
• One constructor with arguments make, model, mileage, and the price.
3. Create a class "Truck" that inherits from the class Automobile:
• This class defines the method print() that displays that the automobile is a truck, shows make, model, mileage, and the price.
• The class has one default constructor (no arguments).
• One constructor with arguments: make, model, mileage, and the price.
4. The main:
• Use the main method to test your classes and methods, creating instances from all the classes (except the abstract, you will have to use a pointer).
• It is up to you to decide a good demonstration of all the functions defined.
• Language is C++