0

我正在使用继承来计算 3 种形状的面积:正方形、矩形和十字

所以由于 square 和 rect 都有 4 组坐标 x,y 而 cross 有 12 组 x,y ..

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

我一共有 4 个类 1) shape2d 2) square 3) rect 4) cross

那么实际上有没有办法将它存储在向量中?

4

1 回答 1

5

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

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

您可以通过确保指针的“所有者”在从向量中删除它们时删除它们来做到这一点。或者使用 unique_ptr 或 shared_ptr 为您管理内存。

于 2013-11-03T14:23:02.540 回答