C++面向对象程序设计模拟试题六.docx
- 文档编号:9205014
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:16
- 大小:21.34KB
C++面向对象程序设计模拟试题六.docx
《C++面向对象程序设计模拟试题六.docx》由会员分享,可在线阅读,更多相关《C++面向对象程序设计模拟试题六.docx(16页珍藏版)》请在冰豆网上搜索。
C++面向对象程序设计模拟试题六
C++面向对象程序设计模拟试题六
一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中,只有一个是苻合题目要求的。
请将其代码填写在题后的括号内。
错选,多选或未选均无分。
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.下列对派生类的描述中,(d)是错误的。
A)一个派生类可以作为另一个派生类的基类
B)派生类至少有一个基类
C)派生类的成员除了它自己的成员外,还包含了它的基类的成员
D)派生类中继承的基类成员的访问权限到派生类中保持不变
6.下列的描述中,(b)是错误的。
A)公有继承时基类中的public成员在派生类中仍是public的
B)公有继承时基类中的private成员在派生类中仍是private的
C)公有继承时基类中的protected成员在派生类中仍是protected的
D)私有继承时基类中的public成员在派生类中仍是private的
7.下列虚基类的声明中正确的是(d)。
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)k=i*j;B)intk;C)returni;D)voidMake()
9.若有以下程序:
#include
usingnamespacestd;
classA
{
public:
inta;
A(){a=10;}
};
classA1:
publicA1.
{
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)产生语法错误B)13C)12D)10 10.在下面的4个关键字中,(a )是用来说明虚函数的。 A)virtualB)publicC)protectedD)private 11.实现运行时的多态要使用(d)。 A)重载函数B)析构函数C)构造函数D)虚函数 12.如果一个类至少有一个纯虚函数,那么该类称为(a)。 A)抽象类B)虚基类C)派生类D)以上都不对 13.cin是某个类的标准对象,该类是(b)。 A)ostreamB)istreamC)stdoutD)stdin 14.调用一个成员函数时,使用动态联编的情况是(b)。 A)通过对象调用一虚函数B)通过指针或引用调用一虚函数 C)通过对象调用一静态函数D)通过指针或引用调用一静态函数 15.假定CTest为一个类,并且有一无默认值的有参构造函数和一无参构造函数,则执行“CTestobjTest;”语句时将自动调用该类的(b)。 A)有参构造函数B)无参构造函数 C)拷贝构造函数D)赋值重载函数 二、判断正误题(本大题共5小题,每小题2分,共10分)判断正误,在题后的括号内,正确的划上“√”错误的划上”×”。 1.在用class定义一个类时,数椐成员和成员函数默认的访问权限是public。 2.若类Y是类X的私有派生类,类Z是类Y的公有派生类,则类Z不能访向类X的公有成员和保护成员。 3.C++中设置虚基类的目的是实现运行时的多态。 4.模板类与类模板的意义完全相同。 5.只有常成员函数才可以操作常对象。 三、填空题(本大题共5小题,每小题2分,共10分)将正确的答案写在每小题的空格内,错填或不填均无分。 1.类的具体表现是通过创建来操作的。 2.假定AB为一个类,则执行“ABa[10];”语句时,系统自动调用该类的构造函数的次数为。 3.使用函数模板的方法是先说明函数模板,然后实例化成相应的进行调用执行。 4.拷贝构造函数用它所在类的作为参数。 5.重载运算符“<<”的函数名为。 四、程序分析题(本大题共8小题,每小题3分,共24分)给出下面各程序的输出结果。 1.若有以下程序: #include 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 classPoint { intx,y; public: Point(intm=0,intn=0){x=m;y=n;} voidShow(){cout<<"x="< }; intmain() { Point*p=newPoint(1,68); p->Show(); deletep; return0; } 输出结果为: 3.若有以下程序: #include classSample { intn; public: Sample(inti){n=i;s+=n;} staticints; voidShow(){cout< }; intSample: : s=0; intmain() { Samplea (2),b(5),c(8); c.Show(); return0; } 输出结果为: 4.若有以下程序: #include 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 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+ 面向 对象 程序设计 模拟 试题