问题 单项选择题

下面程序的运行结果为 #include<iostream.h> class A {int num; public:A(int i){num=i;}A(A &a) { num = a.num+ +;}void print( ) {cout << num;} }; void main( 0 {A a (1),b (a) ;a.print( );b. print( ); }

A.11

B.12

C.21

D.22

答案

参考答案:C

解析: 本题考查考生对拷贝构造函数的掌握。因为++运算是右结合的,所以在使用a对b赋值时,b的num变为1而a的num变为2(先赋值再自加)。

问答题
单项选择题