2. Convert output function of Vehicle to abstract class.

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question

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

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps with 1 images

Blurred answer
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY