title: C++ Java static final equivalent
body: <p>I am using C++ to program a chess game. I want to create two class attributes for the class Board: ROWS and COLUMNS. In Java, I would declare they as static final and everything would work as I want. How I do the same declaration in C++? I need to access these attributes by "Board::ROWS" and "Board::COLUMNS" in other classes.</p>
  
  <p>What I have is this, which is throwing compilation errors since ROWS and COLUMNS are not declared in the scope of the declaration of m_TileMap. Is there a good practice for doing this without using <strong>#define</strong> statement?</p>
  
  <pre><code>class Board {
    Tile *m_TileMap[ROWS][COLUMNS];
  
  public:
    static const int ROWS = 8;
    static const int COLUMNS = 8;
  
    Board(int m[ROWS][COLUMNS]);
  }
  </code></pre>