私は小さな C++ ゲーム (SFML を使用していますが、ほとんどの場合は無関係です) を構築しており、再利用可能にするためにいくつかのコードを変更しています。配列に格納されている一連の形状をシフトするメソッドを作成したいと考えています。
Shapeと呼ばれるクラスと、 Rectangleと呼ばれる別のサブクラスがあるとしましょう。関数がどのような形状でも機能するようにしたい。これは可能ですか?以下に示すようなことができると思ったのですが、最初のパラメーターを Rectangle の配列を取るように変更しない限り、ゲームがクラッシュします。
void shift_shapes(Shape *shapes, int num_shapes, int x_offset, int y_offset)
{
for (int i = 0; i < num_shapes; i++)
shapes[i].move(x_offset, y_offset);
}
Rectangle rects[100];
// *Add 100 rectangles*
shift_shapes(rects, 100, 10, 5);
助けてくれてありがとう!