C++派生实验六.doc

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C派生实验六

注意:实验课程名称统一填写“程序设计2实验” 实 验 六 实验项目名称:继承与派生 实验时间:2012-05-03、2012-05-10、2012-05-27 实验地点:计算机实验楼607B 实验目的: 掌握派生与继承 实验原理: 1、派生类的说明 class 派生类类型名 :基类表 { private: 各私有成员说明; public: 各公有成员说明; protected: 各保护成员说明; }; 注意:? public派生方式:使基类的公有成员和保护成员在派生类中仍然是公有成员和保护成员,而基类的私有成员不可在派生类中被访问。? protected派生方式:使基类的公有成员和保护成员在派生类中都变为保护成员,而基类的私有成员不可在派生类中被访问。? private派生方式:使基类的公有成员和保护成员在派生类中都变为私有成员,而基类的私有成员不可在派生类中被访问。 2、派生类的构造函数的一般格式如下:? 派生类名(参数总表):初始化符表 { 构造函数体 }? 初始化符表 按如下格式构成: 基类名1(基类参数表1), ... ,基类名n(基类参数表n),对象成员名1(对象成员参数表1), ... ,对象成员名m(对象成员参数表m) (注:若无对象成员时,则不出现此后半部分;基类名与对象成员名的次序无关紧要,各自出现的顺序可以任意) 派生类构造函数执行的一般次序如下: (1) 调用各基类的构造函数,调用顺序继承时的声明顺序。 (2) 若派生类含有对象成员的话,调用各对象成员的构造函数,调用顺序按照声明顺序。 (3) 执行派生类构造函数的函数体。 析构派生类对象时,其执行次序恰与构造时的次序相反。 3、设:类CB 是类CD 的基类; CB Cbobj,*pcb; CD CDobj; 允许派生类对象赋值给基类对象; CBobj=CDobj; 允许指向基类对象的指针=派生类对象的地址; pcb=CDobj; 允许派生类对象为基类的引用型对象赋初值。 CB CBobj=CDobj; 作用是把派生类对象中的基类成员部分赋给基类的对象。 实验内容: 1.分析示例程序program 8-2.cpp中的类继承与派生关系,找出所有违反存取权限的语句,并运行测试验证。 2. 根据派生类构造函数执行的一般次序, 分析程序program 8_3.cpp的运行过程,写出运行结果,并运行验证。 3.分析程序program 8_4.cpp,并运行验证,说明基类对象和派生类对象之间允许有哪些赋值关系? 4、继承和派生把不同的类联系到一起,从而也产生了同名成员的处理问题,分析程序program 8_5.cpp,并运行验证。说明程序program 8_5.cpp是如何解决同名成员问题的。 5、在多级混合继承情况下,将共同基类设置为虚基类,可解决同名成员的唯一标识问题。 分析程序program 8_6.cpp,并运行验证。说明程序program 8_6.cpp是如何通过虚基类解决同名成员问题的。 6、 分析程序program 8_8.cpp,并运行验证。说明程序program 8_8.cpp是如何通过虚函数解决通过基类的指针或引用去访问派生类对象时,只能使用从基类继承的成员的 问题。

文档评论(0)

xy88118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档