(1)下列运算符中,不能被重载的是( )。
A)&&
B)!=
C).
D)++
答案:C
(2)关于运算符重载,下列表述中正确的是( )。
A)C++已有的任何运算符都可以重载
B)运算符函数的返回类型不能声明为基本数据类型
C)在类型转换符函数的定义中不需要声明返回类型
D)可以通过运算符重载来创建C++中原来没有的运算符
答案:C
(3)下列关于类定义的说法中,正确的是( )。
A)类定义中包括数据成员和函数成员的声明
B)类成员的缺省访问权限是保护的
C)数据成员必须被声明为私有的
D)成员函数只能在类体外进行定义
答案:A
(4)有如下程序:
#inCludeusing namespaCe std; Class A{
publiC:
statiC int a;
void init(){。a=1;}
A(int a=2){init();a++;} };
int A::a:0: A obj;
int main( ) {
Cout<<OBJ.A: p 0;< return>
}
运行时输出的结果是( )。
A)0
B)1
C)2
D)3
答案:B
(5)以下关键字不能用来声明类的访问权限的是( )。
A)publiC
B)statiC
C)proteCted
D)private
答案:B
(6)下列关于派生类构造函数和析构函数的说法中,错误的是( )。
A)派生类的构造函数会隐含调用基类的构造函数
B)如果基类中没有缺省构造函数,那么派生类必须定义构造函数
C)在建立派生类对象时,先调用基类的构造函数,再调用派生类的构造函数
D)在销毁派生类对象时,先调用基类的析构函数,再调用派生类的析构函数
答案:D
(7)派生类的成员函数不能访问基类的( )。
A)公有成员和保护成员
B)公有成员
C)私有成员
D)保护成员
答案:C
(8)有如下类定义:
Class AA{ int a: PubliC: AA(int n=O):a(n){}
};
Class BB:publiC AA{ publiC:
BB(int n)
};
其中横线处的缺失部分是( )。
A):a(n){}
B):AA(n){}
C){a(n);}
D){a=n;}
答案:B
(9)有如下程序:
#inCludeusing namespaCe std; Class test{
private: int a;
publiC:
test(){Cout<<”ConstruCtor”<<ENDL;} p a){Cout<<a<<endl;}< test(int>
test(Const test&_test){ a=test.a:
Cout<<”Copy ConstruCtor”<<ENDL: p }<>
test(){Cout<<”destruCtor”<<ENDL;}< p>
};
int main( ){ test A(3); return 0;
}
执行这个程序的输出结果是( )。
A)3
B)ConstruCtor
C)Copy ConstruCtor
D)3 destruCtor destruCtor destruCtor
答案:D
(10)若有如下类声明:
Class MyClass{ publiC:
MyClass(){Cout<<1;} };
执行下列语句
MyClass a,b[2],*p[2]; 程序的输出结果是( )。
A)11
B)111
C)1111
D)11111
答案:B
点击加载更多评论>>