17.以下程序中,错误的行为( )
1.#include
2.class A
3.{
4.public:
5.int n=2;
6.A(int val) {cout<
7.~A(){ }
8.{;
9.void main()
10{
11.A a(0);
12.}
A.5 B.6 C.7 D.11
【参考答案】A
18.下面程序的运行结果为( )
#include
class A
{
int num;
public:
A(int i){num=i;}
A(A &a){num=a.num++;}
void print(){cout<
};
void main()
{
A a(1),b(a);
a.print();
b.print();
}
A.11 B.12 C.21 D.22
【参考答案】C
19.如果类A被说明成类B的友元,则( )
A.类A的成员即类B的成员 B.类B的成员即类A的成员
C.类A的成员函数不得访问类B的成员 D.类B不一定是类A的友元
【参考答案】D
20.建立派生类对象时,3种构造函数分别是a(基类的构造函数)、b(成员对象的构造函数)、c(派生类的构造函数)这3种构造函数的调用顺序为( )
A.abc B.acb C.cab D.cba
【参考答案】A
21.下面关于模板的描述,错误的是( )
A.函数模板和类模板的参数可以是任意的数据类型
B.类模板不能直接使用,必须先实例化为相应的模板类,然后定义了模板类的对象后才能使用
C.函数模板不能直接使用,需要实例化为模板函数后才使用
D.类模板的成员函数都是模板函数
【参考答案】A
22.下面程序的运行结果是( )
#include
void main()
{
int num=1;
int &ref=num;
ref=ref+2;
cout<
num=num+3;
cout<
}
A.13 B.16 C.36 D.33
【参考答案】C
23.下列程序的运行结果为( )
#include
int i=0;
class A{
public:
A(){i++;}
};
void main()
{A a,b[3],*c;
c=b;
cout<
A.2 B.3 C.4 D.5
【参考答案】C