有如下程序: #include using namespace std; class Con { charID; public: Con():ID(‘A’){cout

admin2012-12-29  14

问题 有如下程序:
    #include
    using namespace std;
    class Con
    {
    charID;
    public:
    Con():ID(‘A’){cout<<1;)
    Con(char ID):ID(ID){cout<<2;}
    Con(Con&c):ID(c.getID()){cout<<3;}
    char getID)const{return ID;}
    };
    void show(Con c){cout<    int main()
    {
    Con c1;
    show(c1);
    Con c2(‘B’);
    show(c2);
    return 0:
    }
    执行上面程序,输出是__________。

选项

答案13A23B

解析 Con.c1定义c1对象,调用Con的无参数构造函数,输出1,ID值变为A,执行show(c1)时会调用拷贝构造函数,将c1对象的值拷贝给show()函数的形参,此时输出3,然后在show()里面输出c1的ID值A,Con c2(‘B’)定义c2对象,调用Con(char ID)构造函数,输出2,c2的ID值为B,show(c2)执行时先调用拷贝构造函数输出3,然后输出B。因此程序输出结果为“13A23B”。
转载请注明原文地址:https://kaotiyun.com/show/f5Vp777K
0

最新回复(0)