我正在使用 C++ 编写国际象棋游戏。我想为 Board 类创建两个类属性:ROWS 和 COLUMNS。在 Java 中,我会将它们声明为 static final 并且一切都会按我的意愿工作。我如何在 C++ 中做同样的声明?我需要通过其他类中的“Board::ROWS”和“Board::COLUMNS”来访问这些属性。
我所拥有的是这个,它会引发编译错误,因为 ROWS 和 COLUMNS 没有在 m_TileMap 的声明范围内声明。在不使用#define语句的情况下执行此操作是否有好的做法?
class Board {
Tile *m_TileMap[ROWS][COLUMNS];
public:
static const int ROWS = 8;
static const int COLUMNS = 8;
Board(int m[ROWS][COLUMNS]);
}