读书人

为啥不能将派生类的vector对象赋给基类

发布时间: 2012-10-05 15:34:33 作者: rapoo

为什么不能将派生类的vector对象赋给基类引用作为实参?
如题,求助。:-)

[解决办法]
两个vector对象里面的元素有继承关系并不代表这两个vector对象之间也是继承关系
[解决办法]
可以用指针。vector<Base*>.push_back(&devriedObj);
vector的内存是连续的,如果允许派生类赋值给基类就无法保证每个元素的空间。
比如基类是4个字节,那么元素1占据0-3,元素2占据4-7,如果允许派生类,空间如何安排?
[解决办法]
无代码,无真相

读书人网 >C++

热点推荐