21.派生类的成员函数不能访问基类的( )。
A.公有成员和保护成员
B.公有成员
C.私有成员
D.保护成员
22.函数定义为Fun(int&i),变量定义n=100,则下面调用正确的是( )。
A.Fun(20);
B.Fun(20+n);
C.Fun(n);
D.Fun(&n);
23.有如下四个语句:
①cout<<’A’< ②cout< ③cout<<’A’< ④cout< 其中能显示A******B的是( )。
A.①和③
B.①和④
C.②和③
D.②和④
24.下列关于运算符重载的描述中,正确的是( )。
A.运算符重载为成员函数时,若参数表中无参数,重载的是一元运算符
B.一元运算符只能作为成员函数重载
C.二元运算符重载为非成员函数时,参数表中有一个参数
D.C++中可以重载所有的运算符
25.有如下的程序:
#include
#include
usingnamespacestd;
classMyString
{public:
MyString(constchar*s);
MyString(){delete[]data;}
protected:
unsignedlem
char*data;};
MyStrin9::MyString(constchar*s)
{len=strlen(s);
data=newchar[len+1];
strcpy(data,s);}
intmain()
{MyStringa("C++Programing");
MyStringb(a);
return0;}
在运行上面的程序时出错,出错的原因是( )。
A.构造函数的实参不允许是本类的对象
B.没有定义实现深层复制的复制构造函数
C.构造对象a时实参与形参类型不符
D.系统不能生成默认的复制构造函数
26.有如下程序:
#include
usingnamespacestd;
classMyClass{
public:
MyClass(){++count;)
~MyClass(){--count;)
staticintgetCount(){returncount;}
private:
staticintcount;
};
intMyClass::count=0;
intmain(){
MyClassobj;
cout< MyClass*ptr=newMyClass;
cout< deleteptr;
cout< return0;
}
程序的输出结果是( )。
A.121
B.232
C.221
D.122
27.有如下程序:
#include
usingnamespacestd;
classVAC{
public;
intf()const(return3;}
intf(){return5;}
};
Intmain(){
VACv1:
constVACv2;
cout< return0;
}
运行时的输出结果是()。
A.53
B.35
C.55
D.33
28.下列程序中横线处应填入的语句是()。
classBase
{
public:
voidfun(){cout<<"Baseoffun"< classDerived:publicBase
{
voidfun()
{
//显示基类的成员函数fun
cout<<"Derivedoffun"< }
};
A.fun();
B.Base.fun();
C.Base::fun();
D.Base->fun();
29.有以下程序:
#include
usingnamespacestd;
classsample
{
private:
intn;
public:
sample(){}
sample(intm)
{
n=m:
}
sampleadd(samplesl,samples2)
{
this->n=s1.n+s2.n;
return(*this);
}
voiddisp()
{
cout<<"n="< }
};
intmain()
{
samples1(10),s2(5),s3;
s3.add(s1,s2);
s3.disp();
return0:
}
程序运行后,输出的结果是( )。
A.n=10
B.n=5
C.n=20
D.n=15
30.有如下函数模板定义:
templateT2plus(T1t1,T3t3){returnt1+t3;}
则以下调用正确的是( )。
A.plus(3,5L);
B.plus<>(3,5L);
C.plus(3,5L);
D.plus(3,5L);
2015年全国职称计算机考试教材(2007模 .. 定价:¥225 优惠价:¥213 更多书籍 | |
全国职称计算机考试速成过关系列套装:W .. 定价:¥133 优惠价:¥133.0 更多书籍 |