gpt4 book ai didi

C++ - 在类上初始化一个空数组

转载 作者:行者123 更新时间:2023-11-27 23:03:22 35 4
gpt4 key购买 nike

我在初始化一个空数组时遇到了一些麻烦,或者我在类里面这样调用它。基本上我想用 0 填充一个二维数组。

这是我的代码:

板.cpp

#include "Board.h"
#include <string>
#include <iostream>
#include "Player.h"

using namespace std;

Board::Board()
: _board{ { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }
{
}

void Board::drawBoard()
{
for (int i = 0; i < 4; i++){
for (int j = 0; j < 4; j++){
if (i == 0 && j == 0){
cout << " ";
}
else if (i == 0){
cout << " " << j << " ";
}
else if (j == 0){
cout << i;
}
else {
if (_board[i][j] == 0)
cout << "| " << "|";
else
cout << "|" << _board[i][j] << "|";
}
}
cout << endl;
}
}

void Board::playerInput(char input)
{
}

这是 Board.h:

#pragma once
#include <string>
#include <iostream>

class Board
{
public:
Board();
void drawBoard();
void playerInput(char input);


private:
char _board[3][3];
char _input;
};

这是初始化数组的正确方法吗?我读了一些文章,但它让我更加困惑。如果我听起来很愚蠢,我很抱歉。但我需要你的帮助。谢谢。

最佳答案

您需要做的就是值初始化数据成员:

Board::Board() : _board() {}

这将对 _board 的所有元素进行零初始化,并且也适用于 C++03。

关于C++ - 在类上初始化一个空数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25589256/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com