将一个对象的地址传递给另一个对象 C++

Huz*_*ran 3 c++ reference

int main(){

  Test obj1(a,b,c);

  Test obj2(d,e,f);

  &obj1=&obj2;//This line wont work saying lvalue required on left side

}
Run Code Online (Sandbox Code Playgroud)

我可以做什么来纠正这个错误?我想将 obj2 的地址存储到 obj1 中,以便它们的成员变量变得相同(a=d,b=e,c=f),当我更改 obj1 的成员变量时,它也会在 obj2 中更改。

Ayx*_*xan 5

你正在做的事情就像是42 = 64。这个不成立。如果要存储对象的地址,可以使用指针对象:

Test obj1;
Test obj2;

Test * pobj = &obj1; // pointing to obj1
pobj = &obj2; // pointing to obj2
Run Code Online (Sandbox Code Playgroud)

您还可以使用引用来完成类似的操作,但由于您提到您希望能够在声明后重新绑定到不同的对象,因此指针更适合您的用例。