第5章习题参考答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
9.假定车可分为货车和客车,客车又可分为轿车、面包车和公共汽车。请设计相应的类层次结构。
说明:可以把轿车、面包车和公共汽车定义为客车类的对象
参考程序:
#include
using namespace std;
class vehicle
{
public://定义基类vehicle
//公有函数成员
vehicle(int in_wheels,float in_weight); //给数据成员初始化
intget_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){ } float vehicle::get_weight(){ } int vehicle::get_wheels(){ return wheels; } void vehicle::setWeels(int wls){ }wheels = wls; return weight; wheels = in_wheels; weight = in_weight; 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(){ } }; //车和客车,客车又可分为轿车、面包车和公共汽车 class car:public vehicle//定义客车类car { int passenger_load; public: void setPassengers(int people){//新增私有数据成员,表示载客数 //新增公有成员函数 vehicle::display(); cout<<"汽车承重"< car(int in_wheels,float in_weight,int people=4):vehicle(in_wheels,in_weight) { passenger_load = people; } int getPassengers(){ return passenger_load; } };passenger_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<<"---------------------"< cout<<"---------------------"< cout<<"---------------------"< //客车 //轿车 //面包车 //公共汽车 } 程序的运行结果: 车轮数:8汽车重量:400 汽车承重100000 --------------------- 车轮数:4汽车重量:20 载客数:4 --------------------- 车轮数:4汽车重量:10 载客数:5 --------------------- 车轮数:6汽车重量:10 载客数:18 --------------------- 车轮数:6汽车重量:20 载客数:30 10.设计一个能细分为矩形、三角形、圆形和椭圆形的“图形”类。使用继承将这些图形分类,找出能作为基类部分的共同特征(如宽、高、中心点等)和方法(如初始化、求面积等),并看看这些图形是否能进一步划分为子类。 参考程序: #include using namespace std; class Figure { public://定义基类图形类 //公有函数成员 Figure(int wid){width = wid;} float area(){} int getWidth(){return width;} private://私有数据成员 int width;//宽度或半径 }; class Rectangle:public Figure{//定义矩形类