首页 > 试题广场 >

#include using namesp...

[单选题]
#include<iostream>
using namespace std;
class MyClass
{
public:
    MyClass(int i = 0)
    {
        cout << i;
    }
    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);
    MyClass obj3=obj1;
    obj2=obj1;
    return 0;
}

运行时的输出结果是:

  • 1233444
  • 1223444
  • 12033444
  • 1222444
MyClass obj1(1), obj2(2); 构造函数 1 2
MyClass obj3=obj1;拷贝构造函数 2
obj2=obj1; 复制函数 3
三次析构函数 
输出 
1223444

发表于 2019-07-02 23:07:49 回复(3)