2. Convert output function of Vehicle to abstract class.
1. Copy the previous program to a new file.
#include <iostream>
using namespace std;
class Vehicle{
private:
string *brand;
public:
Vehicle(){
brand=new string;
*brand="TBD";
}
Vehicle(string z){
brand=new string;
*brand=z;
}
void output(){
cout<< "Brand: "<<*brand<<endl;
}
void setBrand(string z){
*brand=z;
}
string getBrand(){
return *brand;
}
};
class Car:public Vehicle{
private:
int *weight;
public:
Car():Vehicle(){
weight=new int;
*weight=0;
}
Car(string b, int w):Vehicle(b){
weight=new int;
*weight=w;
}
void output(){
cout << "Brand: " << getBrand() << " Weight: " << *weight << endl;
}
void setWeight(int w){
*weight=w;
}
int getWeight(){
return *weight;
}
};
class Boat:public Vehicle{
private:
int *hullLength;
public:
Boat():Vehicle(){
hullLength=new int;
*hullLength=0;
}
Boat(string b, int h):Vehicle(b){
hullLength=new int;
*hullLength=h;
}
void output(){
cout << "Brand: " << getBrand() << " hullLength: " << *hullLength << endl;
}
void sethullLength(int h){
*hullLength=h;
}
int gethullLength(){
return *hullLength;
}
2. Convert output function of Vehicle to abstract class.
3. Override output function of Car and Boat class.
Use following main() to test your function.
int main(){
Vehicle *a;
a = new Car("Honda",2000);
a->output(); // Brand:Honda Weight: 2000
a = new Boat("Baja",100);
a->output(); // Brand:Baja hullLength: 100
}
Output from main:
Brand: Honda Weight: 2000
Brand: Baja hullLength: 100
![](/static/compass_v2/shared-icons/check-mark.png)
Trending now
This is a popular solution!
Step by step
Solved in 3 steps with 1 images
![Blurred answer](/static/compass_v2/solution-images/blurred-answer.jpg)
![Computer Networking: A Top-Down Approach (7th Edi…](https://www.bartleby.com/isbn_cover_images/9780133594140/9780133594140_smallCoverImage.gif)
![Computer Organization and Design MIPS Edition, Fi…](https://www.bartleby.com/isbn_cover_images/9780124077263/9780124077263_smallCoverImage.gif)
![Network+ Guide to Networks (MindTap Course List)](https://www.bartleby.com/isbn_cover_images/9781337569330/9781337569330_smallCoverImage.gif)
![Computer Networking: A Top-Down Approach (7th Edi…](https://www.bartleby.com/isbn_cover_images/9780133594140/9780133594140_smallCoverImage.gif)
![Computer Organization and Design MIPS Edition, Fi…](https://www.bartleby.com/isbn_cover_images/9780124077263/9780124077263_smallCoverImage.gif)
![Network+ Guide to Networks (MindTap Course List)](https://www.bartleby.com/isbn_cover_images/9781337569330/9781337569330_smallCoverImage.gif)
![Concepts of Database Management](https://www.bartleby.com/isbn_cover_images/9781337093422/9781337093422_smallCoverImage.gif)
![Prelude to Programming](https://www.bartleby.com/isbn_cover_images/9780133750423/9780133750423_smallCoverImage.jpg)
![Sc Business Data Communications and Networking, T…](https://www.bartleby.com/isbn_cover_images/9781119368830/9781119368830_smallCoverImage.gif)