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

Inaccessible public member variable of base class

本文关键字:成员 变量 访问 基类      更新时间:2023-10-16

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

实体。

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;
};

player.h:

#include "Entity.h"
class Player : Entity {
public:
    Player(int lives, char character, WORD color, Vector2<int> pos);
    int lives;
    int points;
};

构造函数呼叫主:

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

有什么建议?

类继承的默认访问级别是私人的,因此player是私下继承实体。

如果您想要公共访问,则在公共班级名称之前。

class Player : public Entity {
...
};