关于构造函数调用问题,求指教,
程序代码:
#include<iostream> using namespace std; class MyClass { public: MyClass(int n){ number = n; } MyClass(MyClass &other){ //拷贝构造函数 number=other.number; cout<<"被调用1次"; } ~MyClass(){} private: int number; }; MyClass fun(MyClass p) { MyClass temp(p); return temp; } int main() { MyClass obj1(10), obj2(0); MyClass obj3(obj1); obj2=fun(obj3); return 0; }
为什么拷贝构造函数会被调用4次的?