基类的无法访问的公共成员变量

Sim*_*ndi 0 c++ inheritance

正如标题所说,我无法从我的主文件访问基类的公共成员变量.

Entity.h:14:10:错误:'char Entity :: character'无法访问

entity.h:

#include "Vector2.h"
#include <Windows.h>

class Entity {
public:
    Entity(char character, WORD color, Vector2<int> pos);

    Vector2<int> pos;
    Vector2<int> vel;

    char character;
    WORD color;
};
Run Code Online (Sandbox Code Playgroud)

player.h:

#include "Entity.h"

class Player : Entity {
public:
    Player(int lives, char character, WORD color, Vector2<int> pos);

    int lives;
    int points;
};
Run Code Online (Sandbox Code Playgroud)

构造函数调用main:

int main(){
    Player player(0, 'C', FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_INTENSITY, playerSpawn);
    char c = player.character; // error here
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

有什么建议?

Ian*_*ix1 10

继承类的默认访问级别是私有的,因此Player私有地继承Entity.

如果您想要公共访问,请使用public在类名前面.

class Player : public Entity {
...
};
Run Code Online (Sandbox Code Playgroud)