ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:17.59KB ,
资源ID:8038748      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8038748.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第5章习题参考答案.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

第5章习题参考答案.docx

1、第5章习题参考答案第5章习题参考答案9. 假定车可分为货车和客车,客车又可分为轿车、面包车和公共汽车。请设计相应的类层次结构。说明:可以把轿车、面包车和公共汽车定义为客车类的对象参考程序:#includeusing namespace std;class vehicle / 定义基类vehiclepublic: / 公有函数成员 vehicle(int in_wheels,float in_weight); / 给数据成员初始化 int get_wheels(); / 获取车轮数 float get_weight(); / 获取汽车重量 void setWeels(int wls); void

2、 setWeight(float wt); void display() cout车轮数:wheels 汽车重量:weightendl; 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 v

3、ehicle:setWeels(int wls) wheels = wls;void vehicle:setWeight(float wt) weight = wt;class truck:public vehicle / 定义货车类truckprivate: / 新增私有数据成员 float weight_load; / 承重public: / 新增公有成员函数 truck(int wheel,float wt,float wl):vehicle(wheel,wt) weight_load = wl; float getLoads() return weight_load; void dis

4、play() vehicle:display(); cout汽车承重weight_loadendl; ;/车和客车,客车又可分为轿车、面包车和公共汽车class car:public vehicle / 定义客车类car int passenger_load; / 新增私有数据成员,表示载客数public: / 新增公有成员函数 car(int in_wheels,float in_weight,int people=4):vehicle(in_wheels,in_weight) passenger_load = people; int getPassengers() return passe

5、nger_load; void setPassengers(int people) passenger_load = people; void display() vehicle:display(); cout载客数:passenger_loadendl; ;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.displ

6、ay(); cout-endl; car1.display(); cout-endl; saloon_car.display(); cout-endl; microbus.display(); cout-endl; bus.display();程序的运行结果:车轮数:8 汽车重量:400汽车承重100000-车轮数:4 汽车重量:20载客数:4-车轮数:4 汽车重量:10载客数:5-车轮数:6 汽车重量:10载客数:18-车轮数:6 汽车重量:20载客数:3010.设计一个能细分为矩形、三角形、圆形和椭圆形的“图形”类。使用继承将这些图形分类,找出能作为基类部分的共同特征(如宽、高、中心点等)

7、和方法(如初始化、求面积等),并看看这些图形是否能进一步划分为子类。参考程序:#includeusing namespace std;class Figure / 定义基类图形类public: / 公有函数成员 Figure(int wid)width = wid; float area() int getWidth()return width;private: / 私有数据成员 int width; / 宽度或半径;class Rectangle:public Figure / 定义矩形类 int height;public: Rectangle(int wid, int hei):Figu

8、re(wid) height = hei; float area()return getWidth() * height;class Triangle:public Figure / 定义三角形类 int height;public: Triangle(int wid, int hei):Figure(wid) height = hei; float area()return 1.0/2* getWidth() * height;class Circle:public Figure / 定义圆类public: Circle(int wid):Figure(wid) float area()re

9、turn 3.14 * getWidth() * getWidth();void main() Rectangle rect(5,4); Triangle tri(5,4); Circle cir(5); cout矩形的面积是:rect.area()endl 三角形的面积是:tri.area()endl 圆的面积是:cir.area()endl;程序的运行结果为:矩形的面积是:20三角形的面积是:10圆的面积是:78.511.考虑大学的学生情况,试利用单继承来实现学生和毕业生两个类,设计相关的数据成员及函数,编程对继承情况进行测试。参考程序:#include#includeclass Stud

10、ent / 定义基类vehiclepublic: / 公有函数成员 Student(int n,char *na,int g):number(n),grade(g) strcpy(name,na); int getNumber() return number; char * getName() return name; int getGrade() return grade; void display() cout学号:numberendl 姓名:nameendl 年级:gradeendl; private: / 私有数据成员 int number; / 学号 char name20; / 姓

11、名 int grade; / 年级;class Graduate:public Student /定义毕业生类 char designSubject20;public: Graduate(int n,char *na,char * deSub,int g=4):Student(n,na,g) strcpy(designSubject,deSub); void display() Student:display(); cout设计题目:designSubjectendl; ;void main() /创建对象 Student li(2,Li Ming,3); Graduate zhang(3,Z

12、hang Gang,学生成绩管理系统); / 显示对象的相关信息 li.display(); cout endl- endl; zhang.display();程序的运行结果:学号:2姓名:Li Ming年级:3-学号:3姓名:Zhang Gang年级:4设计题目:学生成绩管理系统12. 定义一个哺乳动物类,再由此派生出人类、狗类和猫类,这些类中均有speak()函数,观察在调用过程中,到底使用了谁的speak()函数。参考程序:#include#includeclass Animal float weight;public: void speak() void setWeight(float

13、 wt)weight = wt; float getWeight()return weight;class Human:public Animalpublic: void speak() cout说话endl; ;class Cat:public Animalpublic: void speak() cout喵喵endl; ;class Dog:public Animalpublic: void speak() cout汪汪endl; ;void main() / 定义三个对象 Human hm; Cat cat; Dog dog; / 调用不同类的speak函数 cout人:; hm.spe

14、ak(); cout猫:; cat.speak(); cout狗:; dog.speak();程序的运行结果:人:说话猫:喵喵狗:汪汪13. 通过多重继承定义研究生类,研究生既有学生的属性,又有教师的属性。参考程序:#include #include class Personprotected: char m_strName10; int m_nSex; int m_nAge;public: Person(char *name,int age,char sex) strcpy(m_strName, name); m_nSex= (sex=m?0:1 ); m_nAge = age; void

15、setName(char *name) strcpy(m_strName, name); void setSex(int sex) m_nSex= (sex=m?0:1 ); void setAge(int age) m_nAge = age; char * getName() return m_strName; int getAge() return m_nAge; int getSex() return m_nSex; void ShowMe() cout 姓 名:m_strNameendl; cout 性 别:(m_nSex=0?男:女)endl; cout 年 龄:m_nAgeendl

16、; ;class Teacher : public Person char m_strDept20; int m_fSalary;public: Teacher(char *name,int age,char sex,char *dept,int salary) :Person(name,age,sex) strcpy(m_strDept, dept); m_fSalary = salary; void ShowMe() Person:ShowMe(); cout 工作单位:m_strDeptendl; cout 月 薪:m_fSalaryendl; void setSalary(int sa

17、lary) m_fSalary = salary; char * getDept() return m_strDept; int getSalary() return m_fSalary; ;class Student : public Person char m_strID12; char m_strClass12;public: Student(char *name,int age,char sex,char *ID,char *Class) :Person(name,age,sex) strcpy(m_strID, ID); strcpy(m_strClass, Class); void

18、 ShowMe() cout 学 号:m_strIDendl; Person:ShowMe(); cout 班 级:m_strClassn; void setID(char * ID) strcpy(m_strID, ID); void setClass(char *Class) strcpy(m_strClass, Class); char* getID() return m_strID; char* getClass() return m_strClass; ;class Master:public Student, public Teacherpublic: Master(char *n

19、ame,int age,char sex,char *ID,char *Class,char *dept,int salary) :Student(name,age,sex,ID,Class),Teacher(name, age, sex, dept, salary) void ShowMe() Student:ShowMe(); cout 工作单位:getDept()endl; cout 月 薪:getSalary()endl; ;void main() / 定义三个不同类的对象 Teacher teacher1(刘馨,38,m,计算机系,3800); Student std1(刘丽,20,f,03016003,计算机03); Master master(张鑫,25,f,003,机械052,机械系,1000); /显示各类人员的属性 teacher1.ShowMe(); cout-endl; std1.ShowMe(); cout-endl; master.ShowMe();程序的运行结果为: 姓 名:刘馨 性 别:男 年 龄:38 工作单位:计算机系 月 薪:3800- 学 号:03016003 姓 名:刘丽 性 别:女 年 龄:20 班 级:计算机03- 学 号:003 姓 名:张鑫 性 别:女 年 龄:25 班 级:机械052 工作单位:机械系 月 薪:1000

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1