![]() |
#2
rjsp2014-03-12 15:16
|

#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;
}
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次的?