万能百科  > 所属分类  > 

有以下程序:#includeusing namespace std;class MyClass{public:MyClass(int n){numbe

有以下程序: #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)

A.5

B.4

C.3

D.2

正确答案:

B解析: 调用拷贝构造函数的情况为:一个新对象被另一个已存在的同类型对象初始化,当一个对象作为实参传遵给函数时为初始化形参,要调用拷贝构造函数。在函数值返回时形参的生命期结束时它的析构函数被调用,在函数返回一个对象时调用拷贝构造函数。符合以上条件的有:用对象obj1来初始化obj3;obj3作为实参被传入,函数fun返回一个对象时,系统用返回值初始化一个匿名对象时调用了拷贝构造函数。总共调用4次。

词条内容仅供参考,如果您需要解决具体问题
(尤其在法律、医学等领域),建议您咨询相关领域专业人士。

标签