在类之间共享向量时未解析的外部符号向量c ++

时间:2015-08-12 21:59:30

标签: c++

我想在派生类之间共享相同的向量,并以个体身份访问字符串。我得到一个未解决的外部错误。出了什么问题。有没有其他方法在没有静态方法的类之间共享向量。

#include <iostream>
#include <vector>
#include <string>
using namespace std;
class base
{
public:
  static vector<string> v1;

  void set(string val);

  vector<string> getval();
};

void base::set(string val)
{
   v1.push_back(val);
}

vector<string> base::getval()
{
  return v1;
}


class derived :public base
{
public:
  void vec();
};

void derived::vec()
{
  string b = "sfd";
  derived d;
  d.set(b);
}

class derive2:public base
{
public:
  void vec2();
};

void derive2::vec2()
{
  derive2 f;
  vector<string> a(100);
  a = f.getval();
}

int main()
{
  derived a;
  a.vec();
  derive2 b;
  b.vec2();
  a.vec();
  b.vec2();
  return 0;
}

如何在派生类中获取向量

1 个答案:

答案 0 :(得分:1)

您还必须定义静态类变量。在类定义后添加以下行:

 vector<string> base::v1;