选择题   有如下程序:
    #include<iostream>
    using namespace std;
    class MyClass {
    public:
    MyClass(int i=0) {cout<<1;}
    MyClass(const MyClass&x) {cout<<2;}
    MyClass& operator=(const MyClass&x) {cout<<3; return*this;}
    ~MyClass() {cout<<4;}
    };
    int main()
    {
    MyClass obj1(1), obj2(2), obj3(obj1);
    return 0;
    }
    执行这个程序的输出结果是______。
 
【正确答案】 A
【答案解析】本题考查构造函数和复制构造函数以及重载运算符。本题中先后定义了两个对象obj1,obj2,依次输出11,然后定义了对象obj3,调用复制构造函数,输出2,最后执行三次析构函数,输出444。