基类对象/子对象等的数组/向量

array / vector of base class objects/children objects/etc

本文关键字:对象 数组 向量 基类      更新时间:2023-10-16

是否有可能在c++中创建一个数组或向量,该数组或向量具有来自基类和派生类的对象,全部在一个中?例如,如果我有一个父类和一个子派生类,我可以把每个对象放入数组/向量吗?如果我从son派生另一个类,我能在数组/向量中放一个对象吗?如果可能的话,我更愿意以两种方式获得图像(包括数组和向量)。

我认为这里要做的正确的事情是使用std::shared_ptr对象的std::vector(或列表或任何其他容器)。然后,当你从列表中选择一个对象时,你可以一般地对待它(作为一个base_class对象),或者让他特定于类型的问题,即尝试将其动态转换为特定的派生类型。