(1)基类Device 数据成员:double lifetime;构造函数Device(double)给lifetime初始化;纯虚函数 void function(); (2) Vehicle类,公用继承于Device 数据成员 double speed;构造函数Vehicle(想想这里写啥)初始化speed并输出“Vehicle’s constructor!” (4)iCar类,公用继承于Vehicle 构造函数iCar(想想这里写啥)初始化各个数据成员并输出“iCar’s constructor!” 成员函数void function()用于输出speed;
时间: 2024-03-08 18:48:15 浏览: 53
代码如下:
```c++
class Device {
protected:
double lifetime;
public:
Device(double lt) : lifetime(lt) {}
virtual void function() = 0;
};
class Vehicle : public Device {
protected:
double speed;
public:
Vehicle(double lt, double sp) : Device(lt), speed(sp) {
cout << "Vehicle's constructor!" << endl;
}
};
class iCar : public Vehicle {
public:
iCar(double lt, double sp) : Vehicle(lt, sp) {
cout << "iCar's constructor!" << endl;
}
void function() override {
cout << "Speed: " << speed << endl;
}
};
```
在上述代码中,我们定义了三个类,其中`Device`是一个基类,包含了一个数据成员`lifetime`和一个纯虚函数`function()`;`Vehicle`类公用继承于`Device`类,并包含了一个数据成员`speed`,以及一个构造函数`Vehicle(double lt, double sp)`来初始化`lifetime`和`speed`,在构造函数中输出了一个语句;`iCar`类公用继承于`Vehicle`类,并包含了一个构造函数`iCar(double lt, double sp)`来初始化各个数据成员,在构造函数中输出了一个语句,还重写了`function()`函数,用于输出`speed`。
阅读全文