(1)下列关于运算符重载的描述中,正确的是( )。
A)运算符重载为成员函数时,若参数表中无参数,重载的是一元运算符
B)一元运算符只能作为成员函数重载
C)二元运算符重载为非成员函数时,参数表中有一个参数
D)C++中可以重载所有的运算符
答案:A
(2)有如下函数定义:
void funC(int a,int&b){a++;b++;} 若执行代码段:
int x=0,Y=1: funC(X,y);
则变量X和y的值分别是( )。
A)0和1
B)1和1
C)0和2
D)1和2
答案:C
(3)对于一个类定义,下列叙述中错误的是( )。
A)如果没有定义拷贝构造函数,编译器将生成一个拷贝构造函数
B)如果没有定义缺省的构造函数,编译器一定将生成一个缺省的构造函数
C)如果没有定义构造函数,编译器将生成一个缺省的构造函数和一个拷贝构造函数 D)如果已经定义了构造函数和拷贝构造函数,编译器不会生成任何构造函数
答案:B
(4)有如下头变件:
int f1()
StatiCintf2( ); Class MA
publiC: intf3();
1statiC int f4();
};
在所描述的函数中,具有隐含的this指针的是( )。
A)fl
B)f2
C)B
D)f4
答案:C
(5)下列关于类定义的说法中,正确的是( )。
A)类定义中包括数据成员和函数成员的声明
B)类成员的缺省访问权限是保护的
C)数据成员必须被声明为私有的
D)成员函数只能在类体外进行定义
答案:A
(6)如果派生类以proteCted方式继承基类,则原基类的proteCted成员和publiC成员在派生类中的访问属性分别是( )。
A)publiC和publiC
B)publiC和proteCted
C)proteCted和publiC
D)proteCted和proteCted
答案:D
(7)下列有关继承和派生的叙述中,正确的是( )。
A)派生类不彘访问基类的保护成员
B)作为虚基类的类不能被实例化
C)派生类应当向基类的构造函数传递参数
D)虚函数必须在派生类中重新实现
答案:C
(8)有如下类定义:
Class AA{ int a; publiC: AA(int n=0):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 CD{
publiC:
~CD(){Cout<<’C’:} private:
Char name[80]; };
int main(){
CD a,*b,d[2]; return 0;
执行这个程序的输出结果是( )。
A)CCCC
B)CCC
C)CC
D)C
答案:B
(10)有如下程序:
#inCludeusing namespaCe耐: Class MyClass{
publiC:
MyClass(){++Count;}
~MyClass(){--Count;}
statiC int getCount(){retum Count;} private:
statiC int Count;
}; ‘ int MyClass::Count=0;
int main() {
MyClass obj;
Cout<<OBJ.GETCOUNT();< p>
MyClass+ptr=new MyClass: Cout<<MYCLASS::9ETCOUNT(); p ptr;< ’delete>
Cout<<MYCLASS::9ETCOUNT(); p 0;< return>
}
执行这个程序的输出结果是( )。
A)121
B)232
C)221
D)122
答案:A
点击加载更多评论>>