继承vector / array / list并更改其大小

时间:2018-03-20 17:52:44

标签: c++ inheritance vector

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

    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类继承该向量时,我只能临时更改该大小(在该特定子类中)。有没有可能的方法可以全局(在所有其他子类中)更改它并将其保存到最新更新?

1 个答案:

答案 0 :(得分:1)

您要找的是static变量:

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

然而,这是&#34;全球&#34;适用于所有类和其他对象。

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

vector< Parent* > Parent::functions;