1.有如下程序:
#included
usingnamespacestd;
voidfl(int&X,int&y){intz=x;x=y;y=z;)voidf2(intX,inty){intz=x;x=y;y=z;}intmain( ){
intx=10,y=26;
f1(X,y);
f2(x,y);
cout
}
运行时的输出结果是( )。
A.10
B.16
C.26
D.36
2.有如下程序:
#include
usingnamespacestd;
classXA{
inta;
public:
staticintb;
XA(intaa):a(aa){b++;}
~XA( ){}
intget( ){returna;}
};
intXA::b=0
intmain( ){
XAd1(1),d2(3);
cout
}
运行时的输出结果是( )。
A.5
B.6
C.7
D.8
3.有如下程序:
#include
usingnamespacestd:
classPoint{
intx,y;
public:
Point(intx1=0,inty1=0)):X(X1),y(y1){}
intget( ){returnx+y;)
};
classCircle{
Pointcenter}
intradius;
public:
Circle(intCX,intcy,intr):center(cx,cy),radius(r)
{}
intget( ){returncenter.get( )+radius;}
};
intmain( ){
Circlec(3,4,5);
cout
}
运行时的输出结果是( )。
A.5
B.7
C.9
D.12
4.若是对类BigNumber中重载的类型转换运算符long进行声明,下列选项中正确的是( )。
A.operatorlong( )const;
B.operatorlong(BigNumber);
C.longoperatorlong( )const;
D.longoperatorlong(BigNumber);
5.有如下函数模板定义:
template
T1FUN(T2n){returnn*5,0;}
若要求以int型数据9作为函数实参调用该模板,并返回一个double型数据,则该调用应表示为( )。
A.FUN(9)
B.FUN<9>
C.FUN(9)
D.FUN<9>(double)
6.下列语句都是程序运行时的第1条输出语句,其中一条语句的输出效果与其他3条语句不同,该语句是( )。
A.cout
A.析构函数可以重载
B.析构函数由系统自动调用
C.每个对象的析构函数只被调用一次
D.每个类都有析构函数
8.下列关于构造函数的描述中,错误的是( )。
A.构造函数名与类名相同
B.构造函数可以有返回值
C.构造函数可以重载
D.每个类都有构造函数
9.若PAT是一个类,则程序运行时,语句“PAT(*ad){3};”调用PAT的构造函数的次数是( )。
A.0
B.1
C.2
D.3
10.下列描述中,错误的是( )。
A.公有继承时基类中的公有成员在派生类中仍是公有成员
B.公有继承时基类中的保护成员在派生类中仍是保护成员
C.保护继承时基类中的公有成员在派生类中仍是公有成员
D.保护继承时基类中的保护成员在派生类中仍是保护成员