为什么我们通过引用传递一个类的对象。当我删除与号 (&) 时,我收到以下错误。
"Copy constructor of class A may not have parameter of type A"
这是什么意思?可能是编译器没有考虑给定复制构造函数并使用默认构造函数。如果是这种情况,为什么要调用默认构造函数。简而言之,为什么我们使用 & 符号,会发生什么?如果我们不这样做。
class A
{
public:
A()
{
}
A(A& tmp)
{
id = 2*tmp.id;
}
public:
int id;
};
int main()
{
A obj;
obj.id = 10;
A obj1(obj);
cout << obj1.id;
}