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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

C++继承与派生类习题Word文档下载推荐.docx

1、虚基类的构造函数,派生类中子对象类的构造函数,派生类自己的构造函数。例题5:C+类体系中,能被派生类继承的是()。A构造函数B虚函数C析构函数D友元函数C+类体系中,构造函数、析构函数和友元函数是不能被派生类继承的例题6:设有基类定义:class Cbaseprivate: int a;protected: int b;public: int c;派生类采用何种继承方式可以使成员变量b成为自己的私有成员()A.私有继承B.保护继承C.公有继承D.私有、保护、公有均可私有继承时,基类的protected成员在派生类中作为private成员。例题7:C+将类继承分为()和()两种。()单继承()多

2、继承派生类可以只从一个基类中派生,也可以从多个基类中派生。从一个基类中派生的继承方式称为单继承。从多个基类中派生的继承方式称为多继承。例题8:派生类可以定义其_中不具备的数据和操作。基类派生类是从基类派生的,派生类包含了它所有基类的除构造函数、析构函数之外的所有成员,同时还拥有它自己的新成员。例题9:派生类构造函数的初始化列表中包含_。初始化基类数据成员、新增内嵌对象数据及新增一般成员数据所需要的全部参数。例题10:在继承机制下,当对象消亡时,编译系统先执行(1)的析构函数,然后才执行(2)的析构函数,最后执行(3)的析构函数。(1)派生类(2)派生类中子对象类(3)基类派生类的析构函数的执行

3、次序与构造函数正好相反,先调用派生类的析构函数,再调用派生类中子对象类的析构函数,最后调用基类的析构函数。例题11:设有以下类的定义:class Aclass B: protected Aclass C: private BintA1;int b1;int c1;int A2; int b2; int c2;int A3; int b3; int c3;请按访问权限写出派生类C中具有的成员。私有成员:保护成员:公有成员:。(1)c1、b2、b3、A2、A3(2)c2(3)c3类有它自己的私有成员b1、保护成员b2和公有成员有b3,另外类是以保护方式从类中派生出来的,所以类保护成员2和公有成员A

4、3在类中都变成保护类型的;类有自己的私有成员c1、保护成员c2和公有成员有c3,类是以私有方式从B类中派生出来的,所以类中的b2、b3、A2和A3在类中都变成私有的访问方式。例题12:指出并改正下面程序中的错误。#includeclass Pointint x,y;Point(int a=0,int b=0) x=a; y=b;void move(int xoffset,int yoffset) x+=xoffset; y+=yoffset;int getx() return x;int gety() return y;class Rectangle:protected Pointint le

5、ngth,width;Rectangle(int x,int y,int l,int w):Point(x,y)length=l;width=w;int getlength()return length;int getwidth()return width;void main() Rectangle r(0,0,8,4);r.move(23,56);coutr.getx(),r.gety()r.getlength()r.getwidth()endl;保护继承方式使基类的public成员在派生类中的访问属性变为protected,所以派生类Rectangle的对象r不能直接访问基类的成员函数mo

6、ve()、getx()和gety()。其改正方法有两种:1)将Rectangle的继承方式改为公有继承public;2)在Rectangle类中重定义move(),getx()和gety()函数,覆盖基类的同名函数。void Rectangle:move(int xoffset,int yoffset)Point:move(xoffset,yoffset);getx()return Point:getx();gety()return Point:gety();例题13:class A public:int x;A(int a=0) x=a;void display() coutA.x=x cl

7、ass BB(int a=0) x=a;void display() coutB.x=public A,public Bint y;C(int a,int b,int c) :A(a),B(b)y=c;int gety() return y; C myc(1,2,3);myc.x=10;myc.display();类A、B中有同名公有数据成员x和同名成员函数display(),在主函数中访问对象myc的数据成员x是无法确定是访问从A中继承的还是从B中继承的x;调用成员函数也是如此,无法确认是调用类A中的还是类B中的,产生二义性。改正方法,可以用作用域区分符加以限定,如改成myc.A:x=10;

8、 myc.A:display();或myc.B: myc.B:display();例题14:看程序写结果#include class Baseint i;Base(int n)cout Constucting base class endl;i=n;Base()cout Destructing base classvoid showi()cout i ;int Geti()return i;class Derived:public Baseint j;Base aa;Derived(int n,int m,int p):Base(m),aa(p)cout Constructing derive

9、d classj=n;Derived()cout Destructing derived classvoid show()Base:showi(); j aa.Geti() Derived obj(8,13,24);obj.show();说明:派生类的构造函数的执行次序,先调用基类的构造函数,再调用派生类中子对象类的构造函数,最后调用派生类的构造函数。析构函数的执行次序与构造函数正好相反,先调用派生类的析构函数,再调用派生类中子对象类的析构函数,最后调用基类的析构函数。运行结果:Constucting base classConstructing derived class13,8,24Destructing derived classDestructing base class93 教材习题分析与解答1选择题(1)C+中的类有两种用法:一种是类的实例化,即生成类对象,并参与系统的运行;另一种是通过()派生了新的类。A.复用B.继承C.封装D.引用B(2)继承具有(),即当基类本身也是某一个类派生类时,底层的派生类也会自动继承间接基类的成员。A)规律性B.传递性C.重复性D.多样性(3)下列对基类和派生类关系的描述中,错误的是(A.派生类是基类的具体化B.派生类是基类的子集C.派生类是基类

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1