问题 单项选择题

有以下程序 #include <iostream> using namespace std; class MyClass { public: MyClass(int n) { number=n; } // 拷贝构造函数 MyClass(MyClass& other) {number=other. number;} -MyClass() {} private: int number; }; MyClass fun(MyClass p) { MyClass temp(p); return temp; } int main() { MyClass obj1(10), obj2(0); MyClass obj3(obj 1); obj2=fun(obj3); return 0; } 程序执行时,MyClass 类的拷贝构造函数被调用的次数是______ 次。

A.5

B.4

C.3

D.2

答案

参考答案:B

解析: 对象初始化和复制时,都要拷贝构造函数。所以程序执行一共调用了4次构造函数

选择题
单项选择题