c++ - 类 C++ 黑白棋程序的问题

标签 c++ arrays class reversi

我在黑白棋游戏的 C++ 程序类中遇到问题。基本上我的问题是试图在退出函数后更新一个二维数组(这是一个私有(private)类变量)。该数组被声明为类 Board 的私有(private)变量,如下所示:(MAX_SIZE = 10,但数组大小由 main 中的第一个参数控制。)

private:
//array variable for the board
char Board[MAX_SIZE][MAX_SIZE];
int BoardSize;
};

这是我创建板的地方,将它设置为所有破折号。我用 cout 调试它以验证它是否正常工作。

void Board::CreateBoard(){
char Board[BoardSize][BoardSize];

//Sets the board to be all dashes
for (int i=0; i < BoardSize; i++){
 for (int j=0; j < BoardSize; j++){
  Board[i][j] = '-';
  cout << Board[i][j] << " ";
  }
 }
}

这是 printBoard 函数,调用它时只会打印乱码。我怀疑这是因为在 CreateBoard() 函数结束后板正在恢复到之前的状态。

void Board::PrintBoard(){
//Prints out the array board
for(int i=0;i < BoardSize;i++){
for(int j=0;j < BoardSize;j++){
  cout << Board[i][j];
  }
 }
}

我是 C++ 和类的新手,不太了解指针等。我怎样才能让董事会更新并在功能之间保持这种状态?如有任何反馈,我们将不胜感激,谢谢!

最佳答案

里面
void Board::CreateBoard()
你已经声明了一个局部变量 char Board[BoardSize][BoardSize] 你正在用 - 填充。
但是在你的
void Board::PrintBoard()
我认为您正在调用类中定义的 char Board[MAX_SIZE][MAX_SIZE]

因此,您设置了一个局部变量并打印了您尚未设置的类变量,因此出现了奇怪的输出。

关于c++ - 类 C++ 黑白棋程序的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22264234/

相关文章:

c++ - 在构造函数中创建带有参数的类的数组

javascript - 对象到数组返回未定义

java - Java 项目中 int 数组出现 NullPointerException

javascript - 将对象嵌套在数组中的对象中时出错

c++ - get派生类访问彼此的成员数据和函数

c++ - 如何使 friend 类的层次结构?

c++ - 单类实例 C++

php - 从 PHP 类中的另一个函数调用一个函数

c++ - 向类中添加对象

c++ - 高阶 voronoi 图