getter继承问题有2个类

Tho*_*oub 0 c++ inheritance

我有2班(自愿尽可能简单)和我的工作Qt有关Mac OS X:

//Class A
class A
{
protected:
    int getX(){return _x;};
private:
    int _x;
};

//Class B
class B : A
{
    void method(){qDebug() << this->getX();}
};
Run Code Online (Sandbox Code Playgroud)

并且编译器抛出:

错误:'getX'是'A'的私人成员

我错过了什么吗?我尝试过:

qDebug() << this->A::getX();
Run Code Online (Sandbox Code Playgroud)

哪个也行不通!

Suv*_*yil 6

如果未指定继承类型,则将默认值视为私有.

私人继承中,

基类的公共成员是私人的.

从标准文档,11.2.2

在没有基类的访问说明符的情况下,当使用类 - 键结构定义派生类时假定为public,并且在使用类 - 键类定义类时假定为private.