我正在使用继承来计算3个形状的面积:正方形,矩形和交叉
所以因为square和rect都有4组coord x,y而cross有12组x,y ..
我的形状由 - 形状名称 - 区域 - 所有坐标
我总共有4节课 1)shape2d 2)广场 3)rect 4)交叉
那么实际上有一种方法可以将它存储在矢量中吗?
答案 0 :(得分:5)
由于vector存储了对象的真实副本,因此您需要为Shape类型的指针构建一个向量。 这样,向量存储指针的副本,这完全没有问题。
然而,这意味着您必须管理这些形状的内存(何时删除指针)。
您可以通过确保指针的“所有者”在将它们从向量中移除时删除它们来执行此操作。 或者使用unique_ptr或shared_ptr为您管理内存。