我有个问题。如果我在超类中有一个静态成员,我如何允许这个超类的所有子类访问并使用该静态成员。
例如
/*Superclass*/
class Commands {
protected:
static Container database;
};
/*Sub class*/
class Add: public Commands {
public:
void add_floating_entry(std::string task_description);
};
/*This gives me an error. add_floating_task is a method of the Container Class*/
void Add::add_floating_entry(string task_description)
{
database.add_floating_task(task_description);
}
我可以知道这里有什么问题吗?提前致谢!
编辑:
Container类如下
class Container {
private:
vector<Task_Info*> calendar[13][32];
vector<Task_Info*> task_list;
public:
void add_floating_task(std::string task_description);
};
给出的错误是:“使用未声明的标识符“数据库”