访问类成员C ++

时间:2017-03-14 16:54:34

标签: c++

我有一个棋盘,在下面的课程中有行和列。

class ChessBoard
{
public:
       int getWidth() const;
       int getHeight() const;

       PieceType getPiece(int x, int y) const;
       void setPiece(int x, int y, PieceType Piece);
};

然后我把董事会作为;

ChessBoard& board;

稍后我希望在两个for循环中访问主板上的某个磁贴,我不知道该怎么做。

for(i=0;i<=ColMax, i++){//column1-->columnMax
   for(j=0;j<=rowMax-1,j++){//row1-->rowMax

      board.PieceType.i.j // Is this the correct way to access a square?

1 个答案:

答案 0 :(得分:2)

初始化电路板时,您的操作不正确。此代码无效:

Board& board;

这将创建对Board对象实例的引用。必须初始化引用,因此除非这是类成员声明,​​否则在尝试生成此代码时将收到错误。为了创建ChessBoard对象的实例,您需要如下所示的代码:

ChessBoard board;

鉴于您描述的ChessBoard界面,您想要访问单件的副本,如下所示:

PieceType piece = board.getPiece(i, j);