[C++] 2D-Array mit Polymorphie

myhonor

Mitglied
ich will ein Spielfeld machen, das aus 3 Feldern bestehen kann:

Floor
Wall
Door

Diese 3 Klassen werden von der Abstrakten Klasse Tile abgeleitet. Der Inhalt und die Methoden sind für dieses Problem irrelevant. Das Spielfeld soll 7x7 Felder groß sein, dh Am besten wär ein 2D-Array.

Code:
const width = 7;
const height = 7;

Tile*** board;

Wie geh ich das am besten an, wenn ich das Spielfeld mittels Polymorphie machen will?

mfg Rumpfi
 
Hallo Rumpfi,

ich weiß jetzt nicht genau ob ich dich richtig verstanden habe, aber ein mehrdimensionales Array von Zeigern auf eine Basisklasse legst man auch nicht anders an als jedes andere mehrdimensionale Array:
C++:
Tile*** board = new Tile**[height];
for (int row = 0; row < height; ++row) {
  board[row] = new Tile*[width];
  for (int column = 0; column < width; ++column) {
    board[row][column] = new Floor();
    // oder ... = new Wall(); oder ... = new Door(); ...
  }
}

Grüße,
Matthias
 
Zurück