问题
单项选择题
下面程序的运行结果为( )。 #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(先赋值再自加)。