C++ 未解析的外部符号向量c++;在类之间共享向量时
我想在派生类之间共享同一个向量,并作为个体访问字符串。我得到一个未解析外部的错误。出了什么问题。在没有静态方法的情况下,有没有其他方法可以在类之间共享向量C++ 未解析的外部符号向量c++;在类之间共享向量时,c++,C++,我想在派生类之间共享同一个向量,并作为个体访问字符串。我得到一个未解析外部的错误。出了什么问题。在没有静态方法的情况下,有没有其他方法可以在类之间共享向量 #include <iostream> #include <vector> #include <string> using namespace std; class base { public: static vector<string> v1; void set(string val
#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;
}
#包括
#包括
#包括
使用名称空间std;
阶级基础
{
公众:
静态向量v1;
无效集(字符串val);
向量getval();
};
void base::set(字符串val)
{
v1.推回(val);
}
向量基::getval()
{
返回v1;
}
派生类:公共基
{
公众:
void-vec();
};
void派生::vec()
{
字符串b=“sfd”;
导出d;
d、 组(b);
}
类派生2:公共基
{
公众:
void-vec2();
};
void derive2::vec2()
{
衍生2 f;
载体a(100);
a=f.getval();
}
int main()
{
导出了一个;
a、 vec();
衍生2 b;
b、 vec2();
a、 vec();
b、 vec2();
返回0;
}
如何获取派生类中的向量您还必须定义静态类变量。在类定义后添加此行:
vector<string> base::v1;
向量基:v1;