c++复习题同名8806Word文件下载.docx
- 文档编号:16017953
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:34
- 大小:29.13KB
c++复习题同名8806Word文件下载.docx
《c++复习题同名8806Word文件下载.docx》由会员分享,可在线阅读,更多相关《c++复习题同名8806Word文件下载.docx(34页珍藏版)》请在冰豆网上搜索。
D)数组指针的语法形式为:
类型名*数组名[下标表达式];
8.下列有关继承和派生的叙述中,正确的是(C)
A)派生类不能访问通过私有继承的基类的保护成员
B)多继承的虚基类不能够实例化
C)如果基类没有默认构造函数,派生类就应当声明带形参的构造函数
D)基类的析构函数和虚函数都不能够被继承,需要在派生类中重新实现
9.实现运行时多态的机制是(A)
A)虚函数B)重载函数C)静态函数D)模版函数
10.若有下面的函数调用:
fun(a+b,3,max(n-1,b));
其中实参的个数是(A)
A)3B)4C)5D)6
11.下列关于this指针的说法正确的是(B)
A)this指针存在于每个函数之中
B)在类的非静态函数中this指针指向调用该函数的对象
C)this指针是指向虚函数表的指针
D)this指针是指向类的函数成员的指针
12.在下列关于C++函数的叙述中,正确的是(C)
A)每个函数至少要有一个参数B)每个函数都必须返回一个值
C)函数在被调用之前必须先声明D)函数不能自己调用自己
13.下列运算符中,不能重载的是(C)
A)&
&
B)!
=C).D)->
14.下面程序的输出结果是(B)
#include<
iostream>
usingnamespacestd;
inti=0;
intfun(intn)
{
staticinta=2;
a++;
returna+n;
}
voidmain()
intk=5;
{
inti=2;
k+=fun(i);
}
k+=fun(i);
cout<
<
k;
A)13B)14C)15D)16
15.下面的程序段的运行结果为(D)
chars
tr[]="
job"
*p=str;
cout<
*(p+2)<
endl;
A)98B)无输出结果C)字符’b’的地址D)字符’b’
16.下面程序的输出结果是(C)
classA
public:
A(inti){x=i;
voiddispa(){cout<
x<
“,”;
private:
intx;
};
classB:
publicA
B(inti):
A(i+10){x=i;
voiddispb(){dispa();
Bb
(2);
b.dispb();
A)10,2B)12,10C)12,2D)2,2
17.下面程序的输出结果是(C)
classBase
Base(inti){cout<
i;
~Base(){}
classBase1:
virtualpublicBase
Base1(inti,intj=0):
Base(j){cout<
~Base1(){}
classBase2:
Base2(inti,intj=0):
~Base2(){}
classDerived:
publicBase2,publicBase1
Derived(inta,intb,intc,intd):
mem1(a),mem2(b),Base1(c),
Base2(d),Base(a)
{cout<
b;
private:
Base2mem2;
Base1mem1;
voidmain(){DerivedobjD(1,2,3,4);
A)134122B)123412C)14302012D)143212
18.下面程序的输出结果是(C)
classBase
virtualvoidf(){cout<
“f0+”;
voidg(){cout<
“g0+”;
publicBase
voidf(){cout<
“f+”;
“g+”;
voidmain(){Derivedd;
Base*p=&
d;
p->
f();
g();
A)f+g+B)f0+g+C)f+g0+D)f0+g0+
19.下面程序的输出结果是(C)
classSample
friendlongfun(Samples)
if(s.x<
2)return1;
returns.x*fun(Sample(s.x-1));
Sample(longa){x=a;
longx;
voidmain()
intsum=0;
for(inti=0;
i<
4;
i++)
sum+=fun(Sample(i));
sum;
}A)12B)16C)10D)34
20.以下程序的输出结果是:
(D)
intfun(char*s)
{char*p=s;
while(*p!
='
\0'
)p++;
return(p-s);
voidmain(){
cout<
fun("
abc"
)<
endl;
A.0B.1C.2D.3
21.有如下程序段:
inti=1;
while
(1)
i++;
if(i==10)break;
if(i%2==0)cout<
’*’;
执行这个程序段输出字符*的个数是(C)
A.10B.3C.4D.5
22.下列关于虚基类的描述中,错误的是(C)
A.使用虚基类可以消除由多继承产生的二义性
B.构造派生类对象时,虚基类的构造函数只被调用一次
C.声明classB:
virtualpublicA说明类B为虚基类
D.建立派生类对象时,首先调用虚基类的构造函数
23.有下类定义
classA{
char*a;
public:
A():
a(0){}
A(char*aa){//把aa所指字符串拷贝到a所指向的存储空间
a=___________________;
strcpy(a,aa);
~A(){delete[]a;
正确的选择是(A)
A.newchar[strlen(aa)+1]B.char[strlen(aa)+1]
C.char[strlen(aa)]D.newchar[sizeof(aa)-1]
24.假定AA为一个类,a为该类私有的数据成员,GetValue()为该类公有函数成员,它返回a的值,x为该类的一个对象,则访问x对象中数据成员a的格式为(D)。
A)x.aB)x.a()C)x->
GetValue()D)x.GetValue()
25.假定AA为一个类,inta()为该类的一个成员函数,若该成员函数在类定义体外定义,则函数头为(A)。
A)intAA:
:
a()B)intAA:
a()
C)AA:
a()D)AA:
inta()
26.有如下程序:
#include<
classTest{
Test(){}
~Test(){cout<
'
#'
;
intmain(){
Testtemp[2],*pTemp[2];
return0;
执行这个程序输出星号(#)的个数为(B)。
A)1B)2C)3D)4
27.有如下程序:
classMyClass{
MyClass(inti=0){cout<
1;
MyClass(constMyClass&
x){cout<
2;
MyClass&
operator=(constMyClass&
3;
return*this;
}
~MyClass(){cout<
MyClassobj1
(1),obj2
(2),obj3(obj1);
obj1=obj2;
}运行时的输出结果是(A)。
A)1123444B)11114444C)121444D)11314444
28.有如下程序:
#include<
classpoint
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c+ 复习题 同名 8806