编写一个程序。有一个汽车类vehicle,它具有一个需传递参数的构造函数,数据成员有:车轮个数wheels 和车重weight,放在保护段中,汽车类vehicle中的公有成员函数为: get wheels( )(返回车轮个数的值)、 get weight( )(返回车重的值)、print()(输出车轮的个数和车重的公斤数)。小车类car是vehicle类的私有派生类,它具有一个需传递参数的构造函数,小车类car中的私有数据成员为:车载人数 passenger load,小车类 car 中的公有成员函数为:get passengers( )(返回车载人数的值)、 print( )(输出小车车轮的个数和车重的公斤数以及车载人数的个数);在主函数中进行测试。
时间: 2024-02-20 21:57:23 浏览: 21
好的,以下是代码实现:
```cpp
#include <iostream>
using namespace std;
class vehicle {
protected:
int wheels;
int weight;
public:
vehicle(int w, int we) {
wheels = w;
weight = we;
}
int get_wheels() {
return wheels;
}
int get_weight() {
return weight;
}
void print() {
cout << "车轮个数:" << wheels << endl;
cout << "车重:" << weight << "公斤" << endl;
}
};
class car : private vehicle {
private:
int passenger_load;
public:
car(int w, int we, int p) : vehicle(w, we) {
passenger_load = p;
}
int get_passengers() {
return passenger_load;
}
void print() {
vehicle::print();
cout << "车载人数:" << passenger_load << "人" << endl;
}
};
int main() {
car mycar(4, 1000, 5);
mycar.print();
return 0;
}
```
在这里,我们定义了一个车辆类`vehicle`,它有两个保护数据成员:车轮个数`wheels`和车重`weight`。它有一个带参数的构造函数,它初始化这两个数据成员。它还有三个公有成员函数:`get_wheels()`返回车轮个数的值,`get_weight()`返回车重的值,`print()`输出车轮的个数和车重的公斤数。
然后,我们定义了一个小车类`car`,它是`vehicle`的私有派生类。它有一个带参数的构造函数,它初始化`vehicle`的数据成员并添加了一个私有数据成员:车载人数`passenger_load`。它还有两个公有成员函数:`get_passengers()`返回车载人数的值,`print()`输出车轮的个数和车重的公斤数以及车载人数的个数。
最后,在主函数中,我们创建了一个小车对象`mycar`,并调用它的`print()`函数来测试程序。