有如下程序: #include using namespace std; class MyClass{ public: MyClass(int i=0){cout<<l;) MyClass(const MyC

admin2014-08-29  22

问题 有如下程序:
    #include
    using namespace std;
    class MyClass{
    public:
    MyClass(int i=0){cout<<l;)
    MyClass(const MyClass&x){cout<<2;}
    MyClass&operator=(const MyClass&x){cout<<3;return*this;)
    -MyClass(){cout<<4;}
    );
    int main(){
    MyClass obj 1(1),obj2(2),obj3(obj 1);
    retum 0:
    )
    运行时的输出结果是(    )。

选项 A、112444
B、11114444
C、121444
D、11314444

答案A

解析 当创建MyClass类对象objl(1)和obj2(2)时候,调用类构造函数会输出两个l,然后创建类对象obj3(obj(1))时,会调用拷贝类构造函数,输出一个2,然后当main函数结束时候,调用三个对象的析构函数会输出三个4。
转载请注明原文地址:https://jikaoti.com/ti/WKE0FFFM
0

最新回复(0)