问题 单项选择题

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

A.11

B.12

C.21

D.22

答案

参考答案:C

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

单项选择题
名词解释