我有一个棋盘,在下面的课程中有行和列。
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?
答案 0 :(得分:2)
初始化电路板时,您的操作不正确。此代码无效:
Board& board;
这将创建对Board对象实例的引用。必须初始化引用,因此除非这是类成员声明,否则在尝试生成此代码时将收到错误。为了创建ChessBoard对象的实例,您需要如下所示的代码:
ChessBoard board;
鉴于您描述的ChessBoard界面,您想要访问单件的副本,如下所示:
PieceType piece = board.getPiece(i, j);