Kedze velkost pola dopredu nevies, je vhodne pouzit dynamicku alokaciu a kedze jazyk C++ je objektovo orientovany, je dobre tuto alokaciu robit vovnutri objektu a nie mimo. Uprav konstruktor triedy Board podla nasledujuceho prikladu, kde mas aj destruktor, ktory uvolni alokovanu pamat pri ruseni objektu:
Kód:
Board::Board( int size_x, int size_y )
{
this->tiles = new Tile* [size_x];
for ( int i = 0; i < size_x; i++ )
this->tiles[i] = new Tile [size_y];
this->rows = size_y;
this->cols = size_x;
this->mines = 1;
}
Board::~Board()
{
for ( int i = 0; i < this->cols; i++ )
delete [] this->tiles[i];
delete [] this->tiles;
}
// .... funkcia main potom vyzera nasledovne ....
int main()
{
Board board( 4, 5 );
return 0;
}
+bolo by vhodne pridat kopirovaci kontruktor, aby ti to nerobilo neplechu, ked budes predavat triedu Board ako parameter funkcie.