我的情况如下::
class Parent
{
public:
int x;
}
class Child:public Parent
{
int x; // Same name as Parent's "x".
void Func()
{
this.x = Parent::x; // HOW should I access Parents "x".
}
}
这里如何从儿童的成员函数访问家长的“X”。
我的情况如下::
class Parent
{
public:
int x;
}
class Child:public Parent
{
int x; // Same name as Parent's "x".
void Func()
{
this.x = Parent::x; // HOW should I access Parents "x".
}
}
这里如何从儿童的成员函数访问家长的“X”。
几乎得到了它:
this->x = Parent::x;
this
是一个指针。
通过作用域解析运算符访问它的工作:
x = Parent::x;
不过,我会在你想要做这什么情况下质疑。 您的示例使用公有继承哪些型号的“是”的关系。 所以,如果你有符合此标准,但有不同的价值观和/或不同的含义相同成员的对象,然后这个“是”的关系是一种误导。 可能有一些边缘的情况下这哪里是合适的,但我想指出,他们肯定是例外的规则。 当你发现自己这样做,觉得漫长而艰难的原因 。
这是只有Luchian格里戈里和阿努比斯先生提供的解决方案进行了简要的解释,所以如果你是好奇,“这是如何工作”,你应该进一步阅读。
C ++提供了一个所谓的“范围操作符”( ::
),这是完全适合您的任务。
在提供了更多的细节该页面 。 你可以这样操作人员类名(合并Parent
)以获得父母的x
变量。