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

admin2015-06-27  28

问题 有如下程序:
#include
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、112444
B、11114444
C、121444
D、11314444

答案A

解析 本题考查构造函数和复制构造函数以及重载运算符。本题中先后定义了两个对象obj1,obj2,依次输出11,然后定义了对象obj3,调用复制构造函数,输出2,最后执行三次析构函数,输出444。
转载请注明原文地址:https://jikaoti.com/ti/HfE0FFFM
0

最新回复(0)