我想知道是否可以將不同類型的非本地數據存儲到單個矢量中? 它是這樣的:單個C++矢量中的多種類型
class foo
{
private:
int x;
public:
foo(int a=0):x(a){}
int getx() { return x; }
void setx(int a=0) { x=a; }
};
class var:public foo
{
private:
int y;
public:
var(int a=0, int b=0):foo(a), y(b){}
int gety() { return y; }
void sety(int a=0) { y=a; }
};
class var1:public foo
{
private:
int z;
public:
var(int a=0, int b=0):foo(a), z(b){}
int getz() { return z; }
void setz(int a=0) { z=a; }
};
如何聲明一個向量同時容納var
和var1
類型的數據? 我可以將它們存儲在一個std::vector<foo>
,但然後他們會被視爲foo
類型
這幾天我們似乎很容易得到這個問題。有人告訴初學者,在一個容器中存儲不同類型是個好主意嗎? – Beta
可能的[C++中的向量和多態性]重複(http://stackoverflow.com/questions/16126578/vectors-and-polymorphism-in-c) – Beta