嗨,這是我的第一個話題。我在C++以下情況:副本父指針沒有副本在兒童
class A;
class Child;
class Parent;
class A
{
public:
Parent *_p;
A() {}
};
class Parent
{
public:
void add(A &a) { a._p = this; }
Parent() {}
};
class Child : public Parent
{
public:
A a;
Child() : Parent() { add(a); }
};
主要是相當簡單:
int main(int argc, char *argv[ ])
{
Child c1,c2;
c2=c1;
return 0;
}
目前c2.a._p
有c1.a._p
相同的地址(我做了一個副本)。我想修改A和/或父母以便用正確的父母更新指針_p
。我無法改變孩子,這是我的問題的嚴重侷限性。
有什麼想法?可能嗎?
請發表[至少編譯的代碼](http://liveworkspace.org/code/4AsSri$0)。你發佈的內容無效。 – 2013-03-08 09:07:23
_p未在父級中聲明。它是A的成員,並且必須通過A的對象在A類中調用,你在用_p做什麼? – 2013-03-08 09:20:53
對不起,我更正了代碼中的拼寫錯誤。現在編譯。我想用'_p'來訪問A中Parent的方法。 – Gobboshow 2013-03-08 09:46:38