class A
{
private:int value;
public:A(int n) { value = n; }A(A other) { value = other.value; }};
这种情况会出现什么问题?
编译器会发现
A(A other) { value = other.value; }
为复制构造函数,但是这里的参数也是A,我们知道A other 会去调用复制构造函数,这样就会出现自己调用自己的情况,会出现栈溢出的情况!
class A
{
private:int value;
public:A(int n) { value = n; }A(A other) { value = other.value; }};
这种情况会出现什么问题?
编译器会发现
A(A other) { value = other.value; }
为复制构造函数,但是这里的参数也是A,我们知道A other 会去调用复制构造函数,这样就会出现自己调用自己的情况,会出现栈溢出的情况!