C++类的对象可以直接访问超类的公共变量

nav*_*8tr 0 c++ inheritance

假设我有两个班:祖父,父亲.父亲延伸祖父.祖父有一个名为的公共int变量a.

如果我在main中创建一个父类的对象,该对象是否可以直接访问a祖父中的公共成员变量?

例如,我尝试了类似下面的内容,但编译器说这a是不可访问的.但既然a公众不应该直接从父亲的对象那里获得?

int main()
{
    Father father;

    cout << father.a;
}
Run Code Online (Sandbox Code Playgroud)

Eut*_*rpy 6

公共成员对任何类的对象都是可见的,而不仅仅是子类.