Używam C++ do programowania gry w szachy. Chcę utworzyć dwa atrybuty klasy dla tablicy klas: ROWS i COLUMNS. W Javie ogłosiłbym, że są statyczne i wszystko będzie działać tak, jak chcę. Jak zrobić to samo oświadczenie w C++? Muszę uzyskać dostęp do tych atrybutów przez "Board :: ROWS" i "Board :: COLUMNS" w innych klasach.C++ Java statyczny odpowiednik końcowy
To, co mam, to jest to, co rzuca błędy kompilacji, ponieważ ROWS i COLUMNS nie są zadeklarowane w zakresie deklaracji m_TileMap. Czy istnieje dobra praktyka, aby to zrobić bez użycia instrukcji #define?
class Board {
Tile *m_TileMap[ROWS][COLUMNS];
public:
static const int ROWS = 8;
static const int COLUMNS = 8;
Board(int m[ROWS][COLUMNS]);
}
Proponuję zamiast tego używać std :: vector! –