一、选择题(每小题1分,共40分)
1 下列关于运算符函数的描述中,错误的是( )。
A. 运算符函数的名称总是以0perator为前缀
B. 运算符函数的参数可以是对象
C. 运算符函数只能定义为类的成员函数
D. 在表达式中使用重载的运算符相当于调用运算符重载函数
2、有如下程序:
#include
usingnamespacestd;
classBase{
public:
virtualvoidfunctionl(){cout<<’0’;}
voidfunction2(){out<<’1’;}
};
classDerived:publicBase{
oublic:
voidfunctionl(){cout<<’2’;}
voidfunction2(){cout<<’3’;}
};
intmain(){
Base*p=newDerived();
p->functionl();
p->function2();
return0;
}
运行时的输出结果是( )。
A. 01
B. 21
C. 03
D. 23
3、有如下程序:
#include(iostream>
usingnamespacestd;
classCon
{
charID;
public:
Con( ):ID(’A){cout<<1;}
Con(charID):ID(ID){cout((2;)
Con(Con8Lc):ID(c.getlD( )){cout<<3;}
chargetID( )const{returnID;}
};
voidshow(Conc){cout<
{
Conc1;
show(c1);
Conc2(’B’);
show(c2);
return0;
执行上面程序的输出结果是( )。
A. 13A23A
B. 23A13B
C. 13A23B
D. 13823A
4、已知Value是一个类,Value是Value的一个对象。
下列以非成员函数形式重载的运算符函数原形中,正确的是( )。
A. Valueoperator+(Valuev,inti);
B. Valueoperator+(Valuev=value,inti);
C. Valueoperator+(Valuevinti=O);
D. Valueoperator+(Valuev=value,inti=O);
5、C++系统预定义了四个用于标准数据流的对象,下列选项中不属于此类对象的是( )。
A. cout
B. cin
C. cerr
D. cset