我需要创建一个数组来保存来自多个类的对象。
例子
class baseClass
{
//
};
class first : baseClass
{
//
};
class second : baseClass
{
//
};
如何创建可以容纳 first
和/或 second
对象的数组?
这对我来说有点像家务活,所以我不得不使用数组,我已经搜索过并且知道它是用 boost 库 ans 这样完成的,但我别无选择......
最佳答案
最好的做法是创建一个指向基类的智能指针数组——最好是 Boost 或 C++11 版本之一。将其设为指针数组可以消除访问对象时“切片”对象的风险。使用智能指针可以降低内存泄漏的风险。使它成为基类指针意味着任何一个派生类都可以安全地存储在那里。
关于C++ 创建对象数组(来自不同类),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7877993/