云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 《C++语言程序设计》实验教学指导6

《C++语言程序设计》实验教学指导6

  • 62 次阅读
  • 3 次下载
  • 2025/6/14 22:22:22

天津理工大学

《C++语言程序设计》实验教学指导6

课程代码: 课程名称: 适用专业: 指导教师:

1460420

C++语言程序设计/ C++ Programming Language 软件工程 张一鸣

开课院(系)、实验室:华信软件学院、HX103机房 实验指导书名称: C++语言程序设计(第3版)学生用书

实验六 继承与派生

0. 实验目的

(1) 学习声明和使用类的继承关系,声明派生类。

(2) 熟悉不同继承方式下对基类成员的访问控制。 (3) 学习利用虚基类解决二义性问题。

1. 实验任务

(1) 声明一个基类Animal,有私有整型成员变量age,构造其派生类dog,在dog

的成员函数SetAge(int n)中直接给age 赋值,看看会有什么问题,把age改为公有成员变量,还会有问题吗?为什么?

(2) 将基类Animal的缺省构造函数改为Animal(int n)并用n为age赋值,看看

会出现什么问题,请修改程序实现:构造dog类对象时,派生类构造函数为基类构造函数传参数。

(3) 分别在Animal和dog类构造函数、析构函数中增加“构造基类对象!”、“析

构基类对象!”、“构造派生类对象!”、“析构派生类对象!”语句,在Debug中观察构造函数、析构函数的执行过程。

(4) 声明一个车(vehicle)基类,具有MaxSpeed、Weight整型成员变量,Run、

Stop成员函数,由其派生出自行车(bicycle)、汽车(motorcar)类。自行车(bicycle)具有高度(Height)属性,汽车(motorcar)具有座位数(SeatNum)属性。从bicycle和motorcar派生出摩托车(motorcycle)类,在继承过程中,注意把vehicle设置为虚基类,为什么?如果不设置为虚基类,会有什么问题?请注意记录,并作出结论。 (5) (选做)从实验六的people类派生student类,添加属性:班号char classNo[7];

从people类派生新类teacher,添加属性:职务char zhiwu[11]、部门char department[21]。从student类派生出研究生类graduate,属性:专业char subject[21]、导师teacher_adviser;从graduate和teacher类派生出TA(助教生)类。注意虚基类的使用。重载相应成员函数,测试这些类。类之间的关系图见“学生用书”。

2. 实验步骤

(1) 编写程序声明基类Animal,成员变量age为私有。构造派生类dog,在dog

的成员函数SetAge(int n)中直接为age 赋值,会出现错误。将基类Animal的age改为公有成员,编译即可通过。

(2) 将Animal的缺省构造函数添加一个整型形参,并用其为age赋值。此时再

编译时,系统提示错误:error C2512: 'Animal' : no appropriate default constructor available。将dog的缺省构造函数也添加一个整型形参,并用其为基类构造函数传参,此时再编译,系统提示错误:error C2512: 'Dog' : no appropriate default constructor available。在main函数中创建dog类的对象语句加上任意整型实参,编译即可通过。

(3) 分别在Animal和dog类构造函数、析构函数中增加显示语句,利用Debug

跟踪,观察构造函数、析构函数的执行情况。

(4) 编写程序声明一个车(vehicle)基类,由其派生出自行车(bicycle)、汽车

(motorcar)类,注意派生时将基类vehicle设置为虚基类。从bicycle和motorcar派生出摩托车(motorcycle)类,在main中用motorcycle的对象调用基类vehicle的公有成员函数。

(5) 编译成功后,将vehicle设置为非虚基类,再编译一次,此时系统报错,编

译不成功。这是因为若不把vehicle设置为虚基类,其成员在motorcycle中就会出现二义性。

搜索更多关于: 《C++语言程序设计》实验教学指导6 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

天津理工大学 《C++语言程序设计》实验教学指导6 课程代码: 课程名称: 适用专业: 指导教师: 1460420 C++语言程序设计/ C++ Programming Language 软件工程 张一鸣 开课院(系)、实验室:华信软件学院、HX103机房 实验指导书名称: C++语言程序设计(第3版)学生用书 实验六 继承与派生 0. 实验目的 (1) 学习声明和使用类的继承关系,声明派生类。 (2) 熟悉不同继承方式下对基类成员的访问控制。 (3) 学习利用虚基类解决二义性问题。 1. 实验任务 (1) 声明一个基类Animal,有私有整型成员变量age,构造其派生类dog,

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com