定义一个抽象类,然后对抽象类进行扩展。 1 定义交通工具 Vehicle 为抽象类,在该类中定义交通工具类别,重量,定义一个纯虚 函数 show。 2 定义基类派生小车类 Car,在该类中定义 Car 类的类别,重量,实现 show 函数 3 定义基类派生小车类 Truck,在该类中定义 Truck 类的类别,重量,实现 show 函数 4 建立主程序,在主程序中定义一个基类的指针,分别赋值不同的派生类,调用派生类 的 show 函数,输出该类的类型,实现多态。
时间: 2024-04-17 16:26:58 浏览: 144
vehicle类_抽象类Vehicle_vehicle类_
5星 · 资源好评率100%
可以这样来定义抽象类和对其进行扩展:
```cpp
#include <iostream>
using namespace std;
// 定义交通工具类
class Vehicle {
protected:
string category; // 类别
double weight; // 重量
public:
// 纯虚函数,需要在派生类中实现
virtual void show() = 0;
};
// 小车类
class Car: public Vehicle {
public:
Car(string cat, double w) {
category = cat;
weight = w;
}
// 实现show函数
void show() {
cout << "小车类别:" << category << endl;
cout << "小车重量:" << weight << "吨" << endl;
}
};
// 卡车类
class Truck: public Vehicle {
public:
Truck(string cat, double w) {
category = cat;
weight = w;
}
// 实现show函数
void show() {
cout << "卡车类别:" << category << endl;
cout << "卡车重量:" << weight << "吨" << endl;
}
};
int main() {
// 定义基类指针并分别赋值不同的派生类对象
Vehicle* vehicle1 = new Car("轿车", 1.5);
Vehicle* vehicle2 = new Truck("货车", 5.0);
// 调用派生类的show函数,实现多态
vehicle1->show();
cout << endl;
vehicle2->show();
// 释放内存
delete vehicle1;
delete vehicle2;
return 0;
}
```
这段代码定义了一个抽象类`Vehicle`,其中包含了类别和重量两个成员变量,并声明了一个纯虚函数`show`。然后通过派生类`Car`和`Truck`继承了`Vehicle`类,并实现了`show`函数。在主程序中,我们定义了一个基类指针,并分别赋值不同的派生类对象,在调用派生类的`show`函数时实现了多态,输出了不同派生类的类型和相关属性信息。最后,记得释放内存。
阅读全文