我正在开发一款游戏,我想将属于某个单元的角色存储在定义单元的类中。 (作为对象)
这是定义类。 (我用的是继承)
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”对象都相同?
最佳答案
您需要在类构造函数中初始化成员变量。有两种方法:
在子类构造函数中简单地赋值给它
WoodenBoxClass() { indicator = 'B'; }
在基类中有一个将指标作为参数的构造函数,并在子类构造函数中使用初始化列表:
class Unit { ... explicit Unit(char ind) : indicator(ind) {} ... }; class WoodenBoxClass : public Unit { ... WoodenBoxClass() : Unit('B') {} ... };
关于C++类继承变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16217349/