如何从不同的类中获取函数来调用在 Main 中声明的对象?
How can i get a function from a different class to call an object declared in Main?
我正在制作一个 tictactoe 游戏,并希望玩家转身访问我在 main 和其他函数中声明的对象的功能,我该怎么做?
void Player1Turn::player1Turn() {
char num;
cin >> num;
if (num == '1')
{
board[0][0] = { xo1 };
}
例如,我怎样才能让棋盘更改游戏板的值?
int main()
{
Setup setup;
Gameboard gameboard;
Player1Turn player1turn;
setup.setup();
gameboard.printBoard();
player1turn.player1Turn();
return 0;
}
如果这还不够,我可以提供更多
可以将对特定Gameboard
的引用添加为player1Turn
成员函数的参数。因此,假设您的Gameboard
类具有board[][]
成员,它将如下所示:
void Player1Turn::player1Turn(Gameboard& gb)
{
char num;
cin >> num;
if (num == '1')
{
gb.board[0][0] = { xo1 }; // Exact code will depend on your "Gameboard" definition.
}
}
你从main
那里打来的电话是这样的:
int main()
{
Setup setup;
Gameboard gameboard;
Player1Turn player1turn;
setup.setup();
gameboard.printBoard();
player1turn.player1Turn(gameboard); // Argument is the Gameboard to work on.
return 0;
}
不过,还有许多其他方法可以实现这一点,但是如果没有各种类的更多详细信息,我真的无法提出更多/更好的建议。另一种方法,正如 Nico Schertler 在评论中所建议的那样,是在Player1Turn
类中将Gameboard
的引用作为"数据"成员,并在其构造函数中传递引用。
请随时要求进一步澄清和/或解释。
PS:您使用"Player1Turn"(用于类(,"player1Turn"(用于成员函数(和"player1turn"(用于main
中的特定对象(这三个名称极易出现输入错误!你应该认真考虑一个更好的命名方案!!
相关文章:
- 当我尝试在 Main 中调用插入函数时,它不是取数字?
- 我想在 Main 中用 C++ 调用其他类中的一个类,但我做不到
- 为什么 class 的函数没有在 main 中被调用?
- 如何从不同的类中获取函数来调用在 Main 中声明的对象?
- 我可以调用从 main() 覆盖的虚拟函数吗?
- 如何在 cpp 的 main() 中调用此函数
- C++:将向量传递给函数,然后在main中调用函数.错过了什么
- 调用Main将替换矢量对象并覆盖数据
- 当我调用 main 中使用 const 对象的 const 函数时,不断出现错误
- QT C++,从子层次结构调用 main 中的函数
- 如何从另一个.cpp源文件调用main.cpp中定义的方法
- 为什么我的程序在调用main之前就退出了
- 调用main()之外的函数
- C++-通过调用main()函数重新启动游戏
- 防止在C++中递归调用 main()
- 在调用main函数之前,是否有方法解析命令行选项?
- 1-d结合2-d阵列.需要调用main中的函数
- 在调用main()函数之前重置全局对象中的向量
- 在android中通过jni在c中调用Main
- 函数调用main和库中的不同行为