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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

第5章继承与派生docx.docx

1、第5章继承与派生docx第 5 章 继承与派生5.1 继承与派生的概念图 5.1图 5.2图 5.3图5.425.2 派生类的声明方式5.3 派生类的构成数据结构 (C+版 )图5.5图5.65.4 派生类成员的访问属性5.4.1 公用继承C+ 面向对象程序设计35.4.2 私有继承图5.75.4.3 保护成员和保护继承图5.84 数据结构 (C+版 )5.4.4 多级派生时的访问属性图 5.95.5 派生类的构造函数和析构函数5.5.1 简单的派生类的构造函数图 5.10图 5.115.5.2 有子对象的派生类的构造函数C+ 面向对象程序设计5图5.125.5.3 多层派生时的构造函数图5.

2、135.5.4 派生类构造函数的特殊形式5.5.5 派生类的析构函数5.6 多重继承5.6.1 声明多重继承的方法5.6.2 多重继承派生类的构造函数5.6.3 多重继承引起的二义性问题6 数据结构 (C+版 )图5.14图5.15图5.16图5.17图5.18C+ 面向对象程序设计7图5.19图5. 205.6.4 虚基类1.虚基类的作用图5.218 数据结构 (C+版 )图 5.22图 5.23图 5.242.虚基类的初始化C+ 面向对象程序设计9图5.253.虚基类的简单应用举例5.7 基类与派生类的转换图5.26图5.2710 数据结构 (C+版 )5.8 继承与组合5.9 继承在软件

3、开发中的重要意义习题1.将例 5.1 的程序片段补充和改写成一个完整、正确的程序,用公用继承方式。在程序中应包括输入数据的函数,在程序运行时输入 num,name,sex,age,addr 的值,程序应输出以上 5 个数据的值。2.将例 5.2 的程序片段补充和改写成一个完整、正确的程序,用私有继承方式。在程序中应包括输入数据的函数,在程序运行时输入 num,name,sex,age,addr 的值,程序应输出以上 5 个数据的值。3.将例 5.3 的程序修改、补充,写成一个完整、正确的程序,用保护继承方式。在程序中应包括输入数据的函数。4.修改例 5.3 的程序,改为用公用继承方式。上机调试

4、程序,使之能正确运行并得到正确的结果。对这两种继承方式作比较分析,考虑在什么情况下二者不能互相代替。5. 有以下程序结构,请分析访问属性。 class A/A 为基类public:void f1( );int i;protected:void f2( );int j;private:int k;class B: public A /B 为 A 的公用派生类C+ 面向对象程序设计11public:void f3( );protected:int m;private:int n;class C: public B/C为 B的公用派生类public:void f4( );private:int p;

5、int main( )A a1;B b1;C c1;/a1/b1/c1是基类 A是派生类是派生类的对象B 的对象C 的对象return 0;问 :(1)在 main 函数中能否用 b1.i,b1.j 和 b1.k 引用派生类 B 对象 b1 中基类 A 的成员?(2)派生类 B 中的成员函数能否调用基类A 中的成员函数f1 和 f2 ?(3)派生类 B 中的成员函数能否引用基类A 中的数据成员i,j,k?(4)能否在 main 函数中用 c1.i,c1.j,c1.k,c1.m,c1.n,c1.p引用基类 A 的成员 i,j,k ,派生类 B 的成员 m,n ,以及派生类 C 的成员 p ?12

6、 数据结构 (C+版 )(5)能否在 main 函数中用 c1.f1(),c1.f2(),c1.f3() 和 c1.f4() 调用 f1,f2,f3,f4 成员函数?(6)派生类 C 的成员函数 f4 能否调用基类 A 中的成员函数 f1,f2 和派生类中的成员函数f3?6. 有以下程序结构,请分析所有成员在各类的范围内的访问权限。public:void f1( );protected:void f2( );private:int i;class Aclass B: public Apublic:void f3( );int k;private:int m;class C: protected

7、 Bpublic:void f4( );protected:int m;private:C+ 面向对象程序设计13int n;class D: private Cpublic:void f5( );protected:int p;private:int q;int main()A a1;Bb1;Cc1;Dd1;7. 有以下程序,请完成下面工作 : 阅读程序,写出运行时输出的结果。 然后上机运行,验证结果是否正确。 分析程序执行过程,尤其是调用构造函数的过程。 #include using namespace std;class Apublic:A( )a=0;b=0;14A(int i)a=i

8、;b=0;A(int i,int j)a=i;b=j;数据结构 (C+版 )void display( )cout a= a b= b; private:int a;int b;class B : public Apublic:B( )c=0;B(int i):A(i)c=0;B(int i,int j):A(i,j)c=0;B(int i,int j,int k):A(i,j)c=k;void display1( )display();cout c= cendl;private:int c;int main( ) B b1;Bb2(1); B b3(1,3);C+ 面向对象程序设计Bb4(1

9、,3,5); b1.display1( );b2.display1( );b3.display1( );b4.display1( ); return 0;8.有以下程序,请完成下面工作 : 阅读程序,写出运行时输出的结果。 然后上机运行,验证结果是否正确。 分析程序执行过程,尤其是调用构造函数和析构函数的过程。using namespace std;class Apublic:A( )cout constructing A endl;A( )cout destructing A endl;class B : public Apublic:B( )cout constructing B endl

10、;B( )cout destructing B endl;class C : public Bpublic:C( )cout constructing C endl;15#include 16数据结构(C+版 )C( )cout destructing C endl;int main( )C c1;return 0;9.分别定义 Teacher( 教师 )类和 Cadre( 干部 )类,采用多重继承方式由这两个类派生出新类 Teacher_Cadre( 教师兼干部 )。要求 : 在两个基类中都包含姓名、年龄、性别、地址、电话等数据成员。 在 Teacher 类中还包含数据成员 title( 职

11、称 ),在务 ), 在 Teacher_Cadre 类中还包含数据成员 wages(Cadre 类中还包含数据成员工资 )。post( 职 对两个基类中的姓名、年龄、性别、地址、电话等数据成员用相同的名字,在引用这些数据成员时,指定作用域。 在类体中声明成员函数,在类外定义成员函数。 在派生类 Teacher_Cadre 的成员函数 show 中调用 Teacher 类中的 display 函数,输出姓名、年龄、性别、职称、地址、电话,然后再用 cout 语句输出职务与工资。10.将本章 5.8 节中的程序片段加以补充完善, 成为一个完整的程序。 在程序中使用继承和组合。在定义Professor 类对象 prof1 时给出所有数据的初值,然后修改prof1 的生日数据,最后输出prof1的全部最新数据。

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2