内蒙古科技大学面向对象的程序设计实验9 继承二#甄选.docx
- 文档编号:11483893
- 上传时间:2023-03-01
- 格式:DOCX
- 页数:19
- 大小:472.86KB
内蒙古科技大学面向对象的程序设计实验9 继承二#甄选.docx
《内蒙古科技大学面向对象的程序设计实验9 继承二#甄选.docx》由会员分享,可在线阅读,更多相关《内蒙古科技大学面向对象的程序设计实验9 继承二#甄选.docx(19页珍藏版)》请在冰豆网上搜索。
内蒙古科技大学面向对象的程序设计实验9继承二#甄选
内蒙古科技大学面向对象的程序设计实验9继承
(二)#优选、
内蒙古科技大学
面向对象的程序设计
实验报告
课程名称:
面向对象的程序设计
姓名:
陈伟光
实验名称:
继承
(二)
学号:
1567159118
任课教师:
刘月峰
专业:
软件工程
指导教师:
刘月峰
班级:
15-软件一班
一、实验目的
1.理解多重派生的定义;
2.理解多重派生中构造函数与析构函数的调用顺序;
3.理解多重派生中虚拟基类的作用;
二、实验环境
编译器:
VisualC++6.0.
操作系统:
Windows7 旗舰版
三、实验内容
2.1练习
(一):
1.理解下面的程序,并在VC++6.0下运行查看结果,回答程序后面的问题。
classCBase1
{
public:
CBase1(inta)
:
a(a)
{
cout<<"base1structure..."< } ~CBase1() { cout<<"base1destructure..."< } voidprint() { cout<<"a="< } protected: inta; }; classCBase2 { public: CBase2(intb) : b(b) { cout<<"base2structure..."< } ~CBase2() { cout<<"base2destructure..."< } voidprint() { cout<<"b="< } protected: intb; }; classCDerive: publicCBase1,publicCBase2 { public: CDerive() { cout<<"derivestructure..."< } ~CDerive() { cout<<"derivedestructure..."< } voidprint() { CBase1: : print(); CBase2: : print(); b1.print(); b2.print(); cout<<"c="< } private: CBase1b1; CBase2b2; intc; }; voidmain() { CDerived; d.print(); } 问题一: 改正以上程序中存在的错误,并分析该程序的输出结果。 2.理解下面的程序,并在VC++6.0下运行查看结果,回答程序后面的问题。 #include"iostream.h" classCBase { public: CBase(inta) : a(a) { } inta; }; classCDerive1: publicCBase { public: CDerive1(inta) : CBase(a) { } }; classCDerive2: publicCBase { public: CDerive2(inta) : CBase(a) { } }; classCDerive: publicCDerive1,publicCDerive2 { public: CDerive(inta,intb) : CDerive1(a),CDerive2(b) { } }; voidmain() { CDerived(1,2); cout< } 问题一: 在不改变原有程序意图的前提下,改正以上程序,并使程序正确输出。 四、实验过程 练习1 实验题目提供源代码如下: 尝试编译结果如下: 分析错误原因,是派生类继承两个基类的数据以及内嵌两个子对象的数据没有正确的构造,这里加上正确的形参表和初始化列表 修改之后的代码如下: 加上之后,再次尝试编译结果如下: 运行结果如下: 练习2 题目源代码如下: 编译结果如下: 代码显示无法分辨a的来源,导致了二义性问题,此处为不更改题目条件,所以采取虚基类方式修改 修改代码如下: 再次运行结果如下: CBase(a)时 CBase(b)时 五、实验总结 实验源代码: 练习 (一) #include classCBase1 { public: CBase1(inta) : a(a) { cout<<"base1structure..."< } ~CBase1() {
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 内蒙古科技大学面向对象的程序设计实验9 继承二#甄选 内蒙古 科技大学 面向 对象 程序设计 实验 继承 甄选