我正在构建一个小型 C++ 游戏(使用 SFML,但这在大多数情况下无关紧要),并且我正在更改一些代码以使其更可重用。我想制作一种方法来移动存储在数组中的一堆形状。
假设我们有一个名为Shape的类,以及另一个名为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);
谢谢您的帮助!