21.C++语言中关于构造函数的说法正确的是( )。
A.构造函数的函数名不必和类名相同
B.构造函数只能有一个
C.每个类必定有构造函数
D.构造函数必有返回值
22.( )既可重载为一元运算符,又可重载为二元运算符。
A.“*”B.“=”
C.“=”和“*”D.“*”和“*++”
23.类MyClass的定义如下:
classMvClass
{
public:
MyClass(){value=0;}
SetVariable(inti){value=i;}
private:
intvalue;
};
则对下列语句序列正确的描述是( )。
A.语句p=&my;是把对象my赋值给指针变量P
B.语句MyClass*P,my;会调用两次类MyClass的构造函数
C.对语句*P.SetVariable(5)的调用是正确的
D.语句p->SetVariable(5)与语句my.SetVariable(5)等价
24.有如下程序:
#included
usingnamespacestd;
classTestClass
{private:
intX,y;
public:
TestClass(inti,intj)
{x=i;
y=j;}
voidprint()
{cout<<"printl"< voidprint()const
{cout<<"print2"< intmain()
{constTestClassa(1,2);
a.print();
return0;}
该程序运行后的输出结果是( )。
A.printl
B.print2
C.printlprint2
D.程序编译时出错
25.有如下程序:
#included
usingnamespacestd;
classTestClass
{inta;
pubIic:
TestClass(intx){a=x;}
voidshow(){cout< classTestClassl:publicTestClass
{intb;
public:
TestClassl(inti):TestClass(i+1),b(i){}
voidshow(){cout< intmain()
{TestClassb(5),*P;
TestClassld(1):
p=&d;
p->show();
return0;}
该程序运行后的打印结果是( )。
A.5
B.1
C.0
D.2
26.下面程序输出的结果为( )。
#include"iostream.h"
classA
{public:
A(){cOUt<<"CLASSA"< ~A(){}};
ClaSSB:publicA
{public:
B(){cout<<"CLASSB"< ~B(){}};
voidmain()
{A*P;
P=newB:
B*q:
q=newB;}
A.CLASSA
B.CLASSA
CLASSBCLASSB
CLASSB
C.CLASSA
D.CLASSA
CLASSBCLASSB
CLASSACLASSB
CLASSBCLASSB
27.在下面的运算符重载函数的原型中,错误的是( )。
A.Volumeoperator-(double,double);
B.doubleVolume::operator-(double);
C.VolumeVolume::operator-(Volume);
D.Volumeoperator-(Volume);
28.有如下类声明:
classXA{
intx:
public:
XA(intn){x=n;}
};
classXB:publicXA{
inty;
oublic:
XB(inta,intb);
};
在构造函数XB的下列定义中,正确的是( )。
A.XB::XB(inta,intb):x(a),y(b){}
B.XB::XB(inta,intb):XA(a),y(b){}
C.XB::XB(inta,intb):x(a),XB(b){}
D.XB::XB(inta,intb):XA(a),XB(b){}
29.下面类的定义,有( )处错误。
classMyClass
{public:
voidMyClass();
~MyClass(intvahle);
private:
inti=0;};
A.1B.2
C.3D.4
30.有以下程序:
classDate
{public:
Date(inty,intm,intd);
{year=Y;
month=m;
day=d;}
Date(inty=2000)
{year=y;
month=10;
day=1;}
Date(Date&d)
{year=d.year;
month=d.month;
day=d.day;}
voidprint()
{cout< day< private:
intyear,month,day;};
Datefun(Dated)
{Datetemp;
temp=d;
returntemp;}
intmain()
{Datedatel(2000,1,1),date2(0,0,O);
Datedate3(date1);
date2=fun(date3);
return0;}
程序执行时,Date类的复制构造函数被调用的次数是( )。
A.2
B.3
C.4
D.5
2015年全国职称计算机考试教材(2007模 .. 定价:¥225 优惠价:¥213 更多书籍 | |
全国职称计算机考试速成过关系列套装:W .. 定价:¥133 优惠价:¥133.0 更多书籍 |