继承向量/数组/列表并更改其大小

inheriting a vector/array/list and changing its size

本文关键字:向量 数组 列表 继承      更新时间:2023-10-16

新手在这里继承。我试图在父类中定义一个向量,例如:

    class Parent
    {
      public:
         vector<Parent*>functions;   
    };
    class child : public Parent
    {
       public: 
         int change_size()
         { 
           functions.pushback(x)         
           return functions.size(); // here it changes to 1;
         }
    };
    class child2 : public Parent
    {
       public:
       int size() { return functions.size();}// here it is still 0;
    };  

从 Parent 类继承该向量时,我只能临时更改大小(在该特定子类中(。有没有一种方法可以(在所有其他子类中(更改它并将其保存到最新的更新中?

您要查找的是一个static变量:

class Parent
{
  public:
     static vector<Parent*> functions;   
};

但是对于所有类和其他对象来说,这是"全局的"。

请记住,static变量必须在类外部实例化,这意味着在 cpp 文件中。

vector< Parent* > Parent::functions;