vector中能不能存放不同的数据类型

来源:百度知道 编辑:UC知道 时间:2024/05/25 02:58:53
我的程序如下:
vector<CBlock*>m_Block;
vector<CLine*>m_Line;
vector<CPoint*>m_Point;
m_Line和m_Point都是从CShape类派生的,跟CBlock没有关系,m_Line和m_Point可以存放在m_CBlock中么?
如果不可以的话我讲CBlock也改成是从CShape类派生的,这样可以么?

不行
改了之后也不可以
改了之后只能说他们具有相同的父类,他们本身并没有关系(不过将他们都转换为父类应该可以吧)
要想放进去,他们应该有继承的关系 ,他们的指针可以是父类指向子类也可以是子类指向父类 ,不过用的时候会混乱的