第5章A派生和继承.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
练习: 继承具有________,即当基类本身也是某一个类的派生类时,底层的派生类也会自动继承间接基类的成员。 A 规律性 B 传递性 C 重复性 D 多样性 派生类的对象对它的基类成员中________是可以访问的。 A 公有继承的公有成员 B 公有继承的私有成员 C 公有继承的保护成员 D 私有继承的公有成员) 在多继承中,公有派生和私有派生对于基类成员在派生类中的可访问性与单继承的规则__________。 A)完全相同 B)完全不同 C)部分相同,部分不同 D)以上都不对 练习: 下列对派生类的描述中,__________是错误的。 A)一个派生类可以作另一个派生类的基类 B)派生类至少有一个基类 C)派生类的成员除了它自己的成员外,包含了它的基类的成员 D)派生类中继承的基类成员的访问权限到派生类保持不变 对基类和派生类的关系描述中,__________是错误的。 A)派生类是基类的具体化 B)派生类是基类的子集 C)派生类是基类定义的延续 D)派生类是基类的组合 派生类的构造函数的成员初始化列表中,不能包含______。 A)基类的构造函数 B)派生类中子对象的初始化 C)基类的子对象初始化 D)派生类中一般数据成员的初始化 练习: 下列对派生类的描述中,错误的是( ? ) A.?派生类的缺省继承方式是PRIVATE?? B.?派生类至少有一个基类 C.?一个派生类可以作为另一个派生类的基类 D.?派生类只继承了基类的公有成员和保密成员 下列说法中错误的是( ? ) A.?公有继承时基类中的public成员在派生类中是public的 B.?公有继承时基类中的private成员在派生类中是不可直接访问的 C.?私有继承时基类中的public成员在派生类中是private的 D.?私有继承时基类中的public成员在派生类中是protected的 若派生类的成员函数不能直接访问基类中继承来的某个成员,则该成员一定是基类中的(?? ? ) A.私有成员 B.公有成员 C.保护成员 D.保护成员或私有成员 A类 B类 C类 B为A的直接派生,C为A的间接派生, A是B的直接基类,A为C的间接基类. 思考: 访问属性可逐级分析? 支票账户、存储账户 账户 教职员工、后勤人员 雇员 汽车贷款、住房贷款、抵押贷款 贷款 圆、三角形、矩形、球体、立方体 形状 本科生、研究生、中学生、小学生 学生 派生类 基类 基类的构造函数和析构函数是不能被派生类继承的,在派生类中,如果对派生类新增的成员进行初始化,就必须由程序员针对实际需要加入新的构造函数。 与此同时,对所有从基类继承下来的成员的初始化工作,还是由基类的构造函数完成的,所以必须在派生类中对基类的构造函数所需要的参数进行设置。 同时,对派生类对象的扫尾和清理工作也需要加入新的析构函数。 在定义派生类的构造函数时除了对自己的数据成员进行初始化外,还必须负责调用基类构造函数使基类的数据成员得以初始化。如果派生类中还有子对象,还应包含对子对象初始化的构造函数。 派生类名::派生类名(参数表):基类名1(参数名1),…,基类名n(参数名n),子对象1(子对象参数1),…,子对象m(子对象参数m) {派生类新增成员的初始化语句;} 先兄长(基类)/再客人(对象成员)/后自己(派生类) 例分析以下程序的执行结果 #include iostream.h class A { public: A(){coutA Constructor1endl;} A(int i){x1=i;coutA Constructor2endl;} void dispa(){coutx1=x1endl;} private: int x1; }; class B:public A { public: B(){coutB Constructor1endl;} B(int i):A(i+10){x2=i;coutB Constructor2endl;} void dispb(){dispa();coutx2=x2endl;} private: int x2; }; void main() { B b(2); b.dispb();} 例5.5 简单的派生类的构造函数 class Student //声明基类 {public:

文档评论(0)

jtxs877 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档