C++ 创建对象数组(来自不同类)

标签 c++ class

我需要创建一个数组来保存来自多个类的对象。

例子

class baseClass
{
   //
};

class first : baseClass
{
   //
};

class second : baseClass
{
   //
};

如何创建可以容纳 first 和/或 second 对象的数组?

这对我来说有点像家务活,所以我不得不使用数组,我已经搜索过并且知道它是用 boost 库 ans 这样完成的,但我别无选择......

最佳答案

最好的做法是创建一个指向基类的智能指针数组——最好是 Boost 或 C++11 版本之一。将其设为指针数组可以消除访问对象时“切片”对象的风险。使用智能指针可以降低内存泄漏的风险。使它成为基类指针意味着任何一个派生类都可以安全地存储在那里。

关于C++ 创建对象数组(来自不同类),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7877993/

相关文章:

c++ - C++ 中的异步线程

Django将变量从基于类的 View 传递给模板

r - 获取R公式的右侧变量

java - 在 Java 中获取声明类

swift - 如何在 SpriteKit 的不同类中访问已更改的属性

C++在类中使用函数时出错

c++ - 套接字没有收到完整的流

c++ - 如何使用 C++ 从 HTML 中提取文本?

c++ - 如何在不破坏连接的情况下发送和接收 SO_SNDTIMEO 和 SO_RCVTIMEO 的数据?

c++ - 在声明为返回unique_ptr <Base>的函数中返回unique_ptr <Derived>