欢迎来到天天文库
浏览记录
ID:11242079
大小:139.50 KB
页数:19页
时间:2018-07-10
《第六到八章 作业(带答案)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、一、单选1-5DDBDC6-10DABCC11、C12、D一.单项选择题1.下列有关派生类的叙述中,错误的是(D)A、一个派生类至少有一个基类;B、派生类的默认继承方式是private;C.、一个派生类可以另一个派生类的基类;D、派生类只继承了基类的公有成员和保护成员;2.下列有关继承和派生类的叙述中,正确的是:(D)A、作为虚基类的类不能被实例化;B、派生类不能访问基类的保护成员;C、虚函数必须在派生类中重新实现;D、派生类应当向基类的构造函数传递参数;3.有如下类定义classXX{intxdat
2、a;public:XX(intn=0):xdata(n){}};classYY:publicXX{intydata;public:YY(intm=0,intn=0):XX(m),ydata(n){}};YY类的对象包含的数据成员的个数为(B)A、1B、2C、3D、44..如果派生类以protected方式继承基类,则原基类的protected成员和public成员在派生类中的访问权限分别是(D)A、private和publicB、private和protectedC、protected和publicD
3、、protected和protected5.有下列类的定义:classBase{intk;public:voidset(intn){k=n;}intget()const{returnk;}};classDerived:protectedBase{protected:intj;public:voidset(intm,intn){Base::set(m);j=n;}intget()const{returnBase::get()+j;}};则类Derived中保护的数据成员和成员函数的个数是(C)A、1B、
4、2C、3D、46.下列关于派生类构造函数和析构函数的叙述中,错误的是(D)A、派生类的构造函数会隐含调用基类的构造函数;B、如果基类中没有默认的构造函数,那么派生类必须定义构造函数;C、在建立派生类对象时,先调用基类的构造函数,在调用派生类的构造函数;D、在销毁派生类的对象时,先调用基类的析构函数,在调用派生类的析构函数;7.设classY:publicX,即类Y是类X的派生类,则创建一个Y类的对象和删除一个Y类对象时,调用构造函数和析构函数的次序分别为(A)A.X、Y;Y、XB.X、Y;X、YC.Y
5、、X;X、YD.Y、X;Y、X8.将类A说明是类B的虚基类,下列叙述正确的是(B)A.classvirtualB:publicAB.classB:virtualpublicAC.virtualclassB:publicAD.classB:publicAvirtual9.下列关于虚基类的叙述中,错误的是(C)A、使用虚基类可以消除由多继承产生的二义性;B、构造派生类的对象时,虚基类的构造函数只被调用一次;C、声明“classB:virtualpublicA”说明类B为虚基类;D、建立派生类对象时,首先调
6、用虚基类的构造函数;10.下列关于虚基类的叙述中,错误的是(C)A、设置虚基类的目的是消除二义性;B、虚基类子对象的初始化由最派生类完成;C、虚基类子对象的初始化次数与虚基类下面的派生类个数有关;D、带有虚基类的多层派生类构造函数的成员初始化列表中都要列出对虚基类构造函数的调用;11.有如下程序://#include"stdafx.h"#includeusingnamespacestd;classBase{intx;public:Base(intn=0):x(n){cout<7、}//构造函数中形参有初始化值相当于无参数的构造函数intgetX()const{returnx;}};classDervied:publicBase{inty;public:Dervied(intm,intn):y(m),Base(n){cout<8、程序://#include"stdafx.h"#includeusingnamespacestd;classBase{private:voidfun1()const{cout<<"fun1";}protected:voidfun2()const{cout<<"fun2";}public:voidfun3()const{cout<<"fun3";}};classDerived:protectedBase{public:voidfun4(
7、}//构造函数中形参有初始化值相当于无参数的构造函数intgetX()const{returnx;}};classDervied:publicBase{inty;public:Dervied(intm,intn):y(m),Base(n){cout<8、程序://#include"stdafx.h"#includeusingnamespacestd;classBase{private:voidfun1()const{cout<<"fun1";}protected:voidfun2()const{cout<<"fun2";}public:voidfun3()const{cout<<"fun3";}};classDerived:protectedBase{public:voidfun4(
8、程序://#include"stdafx.h"#includeusingnamespacestd;classBase{private:voidfun1()const{cout<<"fun1";}protected:voidfun2()const{cout<<"fun2";}public:voidfun3()const{cout<<"fun3";}};classDerived:protectedBase{public:voidfun4(
此文档下载收益归作者所有