0

継承を使用して、正方形、長方形、十字の 3 つの形状の面積を計算しています

したがって、正方形と長方形にはすべて座標 x、y の 4 つのセットがあり、十字には x、y の 12 セットがあるため..

私の形状は、-形状名-領域-すべての座標で構成されています

合計 4 つのクラスがあります。1) shape2d 2) square 3) rect 4) cross

実際にベクトルに格納する方法はありますか?

4

1 に答える 1

5

vector はオブジェクトの実際のコピーを格納するため、Shape 型のポインターへの vector を作成する必要があります。このようにして、ベクトルはポインターのコピーを保存しますが、これはまったく問題ありません。

ただし、これらの形状のメモリを管理する必要があることを意味します (いつポインターを削除するか)。

これを行うには、ポインターの「所有者」がベクターからそれらを削除するときにそれらを削除するようにします。または、unique_ptr または shared_ptr を使用してメモリを管理します。

于 2013-11-03T14:23:02.540 に答える