收藏 分享(赏)

习题三(带答案).doc

上传人:mcady 文档编号:5888326 上传时间:2019-03-20 格式:DOC 页数:19 大小:116KB
下载 相关 举报
习题三(带答案).doc_第1页
第1页 / 共19页
习题三(带答案).doc_第2页
第2页 / 共19页
习题三(带答案).doc_第3页
第3页 / 共19页
习题三(带答案).doc_第4页
第4页 / 共19页
习题三(带答案).doc_第5页
第5页 / 共19页
点击查看更多>>
资源描述

1、习 题 三 一、填空题 1、 在类继承中,默认的继承方式是( ) 。 2、对于派生类的构造函数,在定义对象时构造函数的调用顺序为:先执行( ) 、再执行( ) ,最后执行( ) 。多重继承方式下,处于同一层次的基类构造函数的执行顺序由派生类的( ) 。顺序决定。3、 在动态关联中,被调用函数是在( )阶段确定的。 在静态关联中,被调用函数是在( )阶段确定的。 4、 消除继承中的二义性的两种方法分别是:( )和( ) 。 5、 C+中引进虚基类的目的是:( ) 。 6、 抽象类是指 ( ) 。 7、 抽象类不能定义( ),但可以定义( )和( ) 。 8、不允许是虚函数的类的成员函数是( )

2、。 9、 若在派生类构造函数的成员初始化列表中出现了虚基类和非虚基类的构造函数的调用,则它们的执行顺序是:先执行( )的构造函数,再执行( )的构造函数。 10、 在 C+中,一个名字可具有多种语义的特性称为( 多态性 ) 。11、在 C+语言中,派生类继承了基类的全部数据成员和除( )之外的全部函数成员。12、在公有继承关系下,派生类的对象可以访问基类中的( )成员,派生类的成员函数可以访问基类中的( )成员。13、在保护继承关系下,基类的公有成员和保护成员将成为派生类中的( )成员,它们只能由派生类的( )来访问,基类的私有成员将成为派生类中的( )成员。14、在私有继承关系下,基类的公有

3、成员和保护成员将成为派生类中的( )成员,它们只能由派生类的( )来访问,基类的私有成员将成为派生类中的( )成员。15、继承具有( ) ,即当基类本省也是某一个类的派生类时,底层的派生类也会自动继承间接基类的成员。16、虚函数应该在( )中声明,且不能在派生类中重新定义。17、纯虚函数是( ) 。18、在析构函数前面加上关键字( )进行说明,称该析构函数为虚析构函数。19、对虚函数的调用有两种方式:( )和( ) 。20、有一种特殊的虚函数,重定义时不要求同名,这种虚函数是( ) 。1、private(或私有继承 ) 2、基类的构造函数、子对象的构造函数、派生类本身的构造函数 (对基类的)

4、继承顺序 3、 (程序) 运行 (程序)编译 4、使用作用域运算符:指明其继承的途径, 使用虚基类 5、消除继承中的二义性 6、含有纯虚(成员) 函数的类; 7、对象,对象指针,对象引用 8、构造函数 9、虚基类、非虚基类 10、多态性 11、构造函数和析构函数12、公有,公有和保护13、保护,成员函数,不可访问14、私有,成员函数,不可访问15、传递性16、基类 17、只有函数声明而没有具体函数功能实现的虚函数。18、virtual19、指针调用 ,对象调用20、虚析构函数二、选择题 1、 对于下面类定义的叙述中正确的是(C ) class A public: virtual void fu

5、nc1( ) void func2( ) ; class B: public A public : void func1( ) cout#include class Basepublic:int x;void Print()coutclass basepublic:void who()coutwho();p=p-who();p=p-who();obj2.who();obj3.who();3、#includeclass Apublic:A(int i,int j)a=i;b=j;void move(int x,int y)a+=x;b+=y;void show()coutusing namesp

6、ace std;class Baseprivate: int x;public: Base(int a=0) x=a; virtual void fun() coutfun(); int main()Derived *p=new Derived;GFun(p); delete p;return 0;5#includeclass Basepublic:virtual int func()return 10;class Derived:public Basepublic:int func()return 80;void main()Derived d;Basecout#include using

7、namespace std;class Personpublic:Person(string n,int a) Name=n; Age=a; Person() void set(string n,int a) Name=n; Age=a; void show() coutclass B0public:int a;void display()cout#includeusing namespace std;class personpublic:person(string nam,string t,string a)name=nam;telephone=t;address=a;protected:s

8、tring name,telephone,address;class student:virtual public personpublic:student(string nam,string t,string a,string i):person(nam,t,a)infor=i;protected:string infor;class staff:virtual public personpublic:staff(string nam,string t,string a,string ad,float w):person(nam,t,a)office=ad;wages=w;protected

9、:string office;float wages;class teacher: public staffpublic:teacher(string nam,string t,string a,string ad,float w,string k):person(nam,t,a),staff(nam,t,a,ad,w),kcheng(k)protected:string kcheng;class zteacher:public teacher,public studentpublic:zteacher(string nam,string t,string a,string i,string

10、ad,float w,string k):person(nam,t,a),student(nam,t,a,i),teacher(nam,t,a,ad,w,k)void show()coutclass RQpublic:virtual float calTJ()=0;virtual void display()=0;class LFT:public RQprivate: float A;public:LFT(float a)A=a;float calTJ()return A*A*A;void display()coutdisplay();p=p-display();5、#includeclass

11、 Employeepublic:virtual double earn()=0;virtual void print()=0;class Manager:public Employeeprivate:double msalary;public:Manager(double ms)msalary=ms;double earn()return msalary;void print()coutprint();p=p-print();6、#include “iostream.h“#include “math.h“const double PI=3.14;class Shapepublic:virtual void GetPerimeter()=0;virtual void GetArea()=0;protected:double per;double area; class Circle:public Shapedouble Radius;public:Circle(double r) Radius=r; void GetPerimeter() per=2*PI*Radius; coutGetPerimeter(); p-GetArea();p= p-GetPerimeter(); p-GetArea();

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 中等教育 > 试题课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报