【发布时间】:2021-11-13 06:00:47
【问题描述】:
构建记忆游戏。用户可以在他们的“棋盘”上输入他们想发牌的数量。我正在使用该输入数字(int size)并构建一个二维对象数组作为游戏板,该游戏板存储在构造函数中。让它工作后,我的下一步是将数组元素替换为要显示的“已处理”卡片对象。 **接收数组的初始化,我很好奇为什么。您对编写此内容的原因或更好的方法有什么建议吗? **
.cpp文件相关代码
#include <iostream>
#include "GameBoard.h"
#include <math.h>
using namespace std;
GameBoard::GameBoard(int size)
{
if (size % 2 != 0)
{
size++;
}
int row;
int col;
row = 4;
col = ceil(size/4);
Card gameBoard = new Card*[row];
int i;
for(i=0; i<row; i++){
Card gameBoard[i] = new Card[col];
}
.h 文件
#ifndef GameBoard_h
#define GameBoard_h
#include "Deck.h"
#include <iostream>
using namespace std;
class GameBoard{
private:
Card **gameBoard;
Deck deck;
Card card;
int CardsToDeal;
public:
GameBoard(int size);
GameBoard();
void initializeBoard();
};
#endif
【问题讨论】:
-
Card gameBoard = new Card*[row];在开头添加类型时,您是在尝试声明本地gameBoard变量而不是初始化类成员。 -
@drescherjm 问题已解决。谢谢你。我现在将删除此帖子,因为一个简单的错误。
标签: c++ arrays class multidimensional-array dynamic-arrays