【发布时间】:2020-07-06 02:59:32
【问题描述】:
我的概念(非真实)类层次结构为:
struct Pet{};
struct Cat : Pet{};
struct Dog : Pet{};
对象如下:
Pet p("unknown");
Cat c("Kitty");
Dog D("Tommy");
现在我如何将对象 p,c,d 存储在像 std::vector 这样的单个容器中。但我想不出办法。当我有std::vector<Pet> 其他班级被削减时。我什至不能将它们作为指针存储在容器上,因为指针仍然具有不同的类型。
【问题讨论】:
-
堆分配它们并使用std::vector<:unique_ptr>>你能详细说明一下吗
标签: c++ class oop containers hierarchy