C++面向对象程序设计模拟试题6.docx
- 文档编号:13595159
- 上传时间:2023-06-15
- 格式:DOCX
- 页数:17
- 大小:19.54KB
C++面向对象程序设计模拟试题6.docx
《C++面向对象程序设计模拟试题6.docx》由会员分享,可在线阅读,更多相关《C++面向对象程序设计模拟试题6.docx(17页珍藏版)》请在冰点文库上搜索。
C++面向对象程序设计模拟试题6
C++面向对象程序设计模拟试题六
一、单项选择题(本大题共10小题,每小题2分,共20分)在每小题列出的四个备选项中,只有一个是苻合题目要求的。
请将其代码填写在题后的括号内。
错选,多选或未选均无分。
1.类的析构函数(d)。
A)作为类的一般成员函数B)类初始化时被调用
C)对象初始化时被调用D)对象被删除时被调用
*2.一个类的友元函数或友元类可以访问该类的(d)。
A)私有成员B)保护成员C)公有成员D)所有成员
*3.下列关于成员函数特征的描述中,(a)是错误的。
A)成员函数一定是内联函数B)成员函数可以重载
C)成员函数可以设置参数的默认值D)成员函数可以是静态的
*4.下列函数中,(c)不是类的成员函数。
A)构造函数B)析构函数C)友元函数D)拷贝构造函数
*5.下列对派生类的描述中,(b)是错误的。
A)一个派生类可以作为另一个派生类的基类
B)派生类至少有一个基类
C)派生类的成员除了它自己的成员外,还包含了它的基类的成员
D)派生类中继承的基类成员的访问权限到派生类中保持不变
6.下列的描述中,(d)是错误的。
A)公有继承时基类中的public成员在派生类中仍是public的
B)公有继承时基类中的private成员在派生类中仍是private的
C)公有继承时基类中的protected成员在派生类中仍是protected的
D)私有继承时基类中的public成员在派生类中仍是private的
7.下列虚基类的声明中正确的是(a)。
A)classvirtualB:
publicAB)virtualclassB:
publicA
C)classB:
publicAvirtualD)classB:
virtualpublicA
8.若类A和类B的定义如下:
classA
{
inti,j;
public:
A(intm,intn):
i(m),j(n){}
intGeti(){returni;}
};
classB:
publicA
{
intk;
public:
B(intm,intn,intu):
A(m,n),k(u){}
voidMake(){k=i*j;}
};
intmain()
{
Bb(1,2,3);
return0;
}
则上述定义中,(a)是非法的表达式.
A)k=i*j;B)intk;C)returni;D)voidMake()
9.若有以下程序:
#include
usingnamespacestd;
classA
{
public:
inta;
A(){a=10;}
};
classA1:
publicA
{
public:
A1(){a=a+1;}\
};
classA2:
publicA
{
public:
A2(){a=a+2;}
};
classB:
publicA1,publicA2
{
public:
B(){}
voidPrint(){cout< }; intmain() { Bobj; obj.Print(); return0; } 则程序编译或运行后的输出结果为: a A)提示语法错误B)13C)12D)10 10.在下面的4个关键字中,(a )是用来说明虚函数的。 A)virtualB)publicC)protectedD)private 二、填空题(本大题共5小题,每小题2分,共10分)将正确的答案写在每小题的空格内,错填或不填均无分。 1.通过类创建(对象)来要调用构造函数。 2.假定AB为一个类,则执行“ABa[10];”语句时,系统自动调用该类的构造函数的次数为(10)。 3.使用函数模板的方法是先说明函数模板,然后实例化成相应的(模板函数)进行调用执行。 4.拷贝构造函数用它所在类的(引用)作为参数。 5.重载运算符“<<”的函数名为(operator<<)。 三、程序分析题(本大题共6小题,每小题5分,共30分)给出下面各程序的输出结果。 1.若有以下程序: #include usingnamespacestd; classA { inta; public: A(intaa=0) { a=aa; cout<<"A(): "< } }; classB: publicA { intb; public: B(intaa=0,intbb=0): A(aa) { b=bb; cout<<"B(): "< } }; intmain() { Bx(5),y(6,7); return0; } 输出结果为: 2.若有以下程序: #include usingnamespacestd; classPoint { private: intx,y; public: Point(intm=0,intn=0){x=m;y=n;} voidShow()const{cout<<"x="< }; intmain() { Point*p=newPoint(1,68); p->Show(); deletep; return0; } 输出结果为: 3.若有以下程序: #include usingnamespacestd; classSample { private: intn; public: Sample(inti){n=i;s+=n;} staticints; voidShow()const{cout< }; intSample: : s=0; intmain() { Samplea (2),b(5),c(8); c.Show(); return0; } 输出结果为: 4.若有以下程序: #include usingnamespacestd; classSample { intn; public: Sample(inti){n=i;} voidPrint(){cout<<"1: n="< voidPrint()const{cout<<"2: n="< }; intmain() { Samplea(10); constSampleb(20); a.Print(); b.Print(); return0; } 输出结果为: 5.若有以下程序: #include usingnamespacestd; classTest { intx; public: voidSetx(inti){x=i;} intPutx(){returnx;} }; intmain() { Test*p; Testa[3]; a[0].Setx(5); a[1].Setx(6); a[2].Setx(7); for(intj=0;j<3;j++) { p=&a[j]; cout< }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 面向 对象 程序设计 模拟 试题