C ++如何将不同坐标的不同形状存储到矢量中

时间:2013-11-03 14:17:16

标签: c++

我正在使用继承来计算3个形状的面积:正方形,矩形和交叉

所以因为square和rect都有4组coord x,y而cross有12组x,y ..

我的形状由 - 形状名称 - 区域 - 所有坐标

我总共有4节课 1)shape2d 2)广场 3)rect 4)交叉

那么实际上有一种方法可以将它存储在矢量中吗?

1 个答案:

答案 0 :(得分:5)

由于vector存储了对象的真实副本,因此您需要为Shape类型的指针构建一个向量。 这样,向量存储指针的副本,这完全没有问题。

然而,这意味着您必须管理这些形状的内存(何时删除指针)。

您可以通过确保指针的“所有者”在将它们从向量中移除时删除它们来执行此操作。 或者使用unique_ptr或shared_ptr为您管理内存。