问题
单项选择题
有如下程序:
#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; retum*this;
~MyClass()cout<<4;
;
int main()
MyClass obj1(1),obj2(2),obj3(obj1);
return0;
执行这个程序的输出结果是______。
A.112444
B.11114444
C.121444
D.11314444
答案
参考答案:A
解析: 本题考查构造函数和复制构造函数以及重载运算符。本题中先后定义了两个对象obj1,obj2,依次输出11,然后定义了对象obj3,调用复制构造函数,输出2,最后执行三次析构函数,输出444。