次のように定義されたクラスがあります。
class Obj {
public:
int width, height;
Obj(int w, int h);
}
次のような静的配列を含める必要があります。
int presc[width][height];
ただし、クラス内で定義することはできないため、2D 配列へのポインターを作成し (そして、好奇心から、3、4、および 5D 配列)、それをクラスのメンバーとして持ち、それを初期化することができます。コンストラクターは次のようになります。
int ar[5][6];
Obj o(5, 6, &ar);
編集:ここでの考え方は、すべてのオブジェクトの幅と高さが異なるため、そのオブジェクトを表すために使用する配列はオブジェクトに固有のものになりますが、その配列が(できればコンストラクターで)定義されると、変更されません. また、特定のオブジェクトの幅と高さの値は、コンパイル時に認識されます。
編集: 配列はpresc
、2 つのオブジェクトの配列を 1 つの大きな配列に重ね合わせ、重複する場所を確認することによる衝突検出用です。次のように宣言します。
Obj player1(32, 32); //player with a width of 32 px and height of 32 px, presc[32][32]
Obj boss(500, 500); //boss with a width of 500 px and height of 500 px, presc[500][500]