有如下程序 #inc1ude <iostream> using namespace.std; class Test{ public: Test(){} Test(const Test&t){cout<<1

admin2020-07-30  9

问题 有如下程序
    #inc1ude <iostream>
    using namespace.std;  
    class Test{
    public:
    Test(){}
    Test(const Test&t){cout<<1,}
    };
    Test fun(Test &u) {Test t=u;return t;}
    int main() {Test x,y; x=fun(y);return 0;}
    运行这个程序的输出结果是(     )。

选项 A、无输出
B、1
C、11
D、111

答案C

解析 在类Test中定义拷贝构造函数Test(const Test &t),其函数体为输出1,在主函数mam中,当执行语句x一fun(y),调用拷贝函数用对象y的值构造对象u,输出l,在执行函数fun()的return语句时,调用拷贝函数构造匿名对象,输出l。
转载请注明原文地址:https://jikaoti.com/ti/MKl0FFFM
0

最新回复(0)