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

admin2013-02-27  25

问题 下面程序的运行结果为(    )。    #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(先赋值再自加)。
转载请注明原文地址:https://jikaoti.com/ti/tYL0FFFM
0

最新回复(0)