第5章习题参考答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
9. 假定车可分为货车和客车,客车又可分为轿车、面包车和公共汽车。请设计相应的类层次结构。
说明:可以把轿车、面包车和公共汽车定义为客车类的对象
参考程序:
#include
using namespace std;
class vehicle // 定义基类vehicle
{
public: // 公有函数成员
vehicle(int in_wheels,float in_weight); // 给数据成员初始化
int get_wheels(); // 获取车轮数
float get_weight(); // 获取汽车重量
void setWeels(int wls);
void setWeight(float wt);
void display(){
cout<<"车轮数:"< <<" 汽车重量:"< } private: // 私有数据成员 int wheels; // 车轮数 float weight; // 表示汽车承重 }; vehicle::vehicle(int in_wheels,float in_weight){ wheels = in_wheels; weight = in_weight; } float vehicle::get_weight(){ return weight; } int vehicle::get_wheels(){ return wheels; } void vehicle::setWeels(int wls){ wheels = wls; } void vehicle::setWeight(float wt){ weight = wt; } class truck:public vehicle // 定义货车类truck { private: // 新增私有数据成员 float weight_load; // 承重 public: // 新增公有成员函数 truck(int wheel,float wt,float wl):vehicle(wheel,wt){ weight_load = wl; } float getLoads(){ return weight_load; } void display(){ vehicle::display(); cout<<"汽车承重"< } }; //车和客车,客车又可分为轿车、面包车和公共汽车 class car:public vehicle // 定义客车类car { int passenger_load; // 新增私有数据成员,表示载客数 public: // 新增公有成员函数 car(int in_wheels,float in_weight,int people=4):vehicle(in_wheels,in_weight) { p assenger_load = people; } int getPassengers(){ r eturn passenger_load; } void setPassengers(int people){ p assenger_load = people; } void display(){ vehicle::display(); cout<<"载客数:"< } }; void main(){ truck truck1(8,400,100000); // 货车 car car1(4,20); // 客车 car saloon_car(4,10,5); // 轿车 car microbus(6,10,18); // 面包车 car bus(6,20,30); // 公共汽车 // 显示相关信息 truck1.display(); cout<<"---------------------"< car1.display(); cout<<"---------------------"< saloon_car.display(); cout<<"---------------------"< microbus.display(); cout<<"---------------------"< bus.display(); } 程序的运行结果: 车轮数:8 汽车重量:400 汽车承重100000 --------------------- 车轮数:4 汽车重量:20 载客数:4 --------------------- 车轮数:4 汽车重量:10 载客数:5 --------------------- 车轮数:6 汽车重量:10