C++类继承变量

标签 c++ class variables object inheritance

我正在开发一款游戏,我想将属于某个单元的角色存储在定义单元的类中。 (作为对象)

这是定义类。 (我用的是继承)

class Units
{
    public:
       char indicator;

        Units();
        virtual ~Units();
    protected:
    private:
};

Units::Units (){}
Units::~Units (){}


class WoodenBoxClass: public Units
{
    public:
        WoodenBoxClass.indicator = 'B';
};

编译过程中,当“WoodenBoxClass.indicator = 'B';”来了,我收到一条错误消息:

50|错误:在“.”之前需要不合格的 ID token

我该怎么办?主要问题是,如何才能使“指示器”变量对每个“WoodenBoxClass”对象都相同?

最佳答案

您需要在类构造函数中初始化成员变量。有两种方法:

  1. 在子类构造函数中简单地赋值给它

    WoodenBoxClass()
    {
        indicator = 'B';
    }
    
  2. 在基类中有一个将指标作为参数的构造函数,并在子类构造函数中使用初始化列表:

    class Unit
    {
        ...
        explicit Unit(char ind) : indicator(ind) {}
        ...
    };
    
    class WoodenBoxClass : public Unit
    {
        ...
        WoodenBoxClass() : Unit('B') {}
        ...
    };
    

关于C++类继承变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16217349/

相关文章:

variables - Tcl/tk 按钮 - 如何在命令选项上传递变量?

python - 如何将字符串转换为变量名?

如果不使用 '&',C++ 模板无法推断引用类型

c++ - 合并方法 C++

c++ - 如何初始化节点为矩阵的链表?

c++ - 如何使用 push_back 将元素随机添加到 vector 中

c++ - AVX2:有没有办法实现 _mm256_mul_epi8 函数的 2 的恒定幂?

c# - 结合 c# 类和 vb.net 类

python - 通过每个类的属性创建类名字典

php - 如何将php页面名称存储在变量中?