嗨,这是我的第一个话题。我在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