为对象实现二维数组

时间:2019-04-27 13:51:48

标签: c++

创建一个填字游戏。通过输入选择网格大小,将生成网格。我希望网格是具有行和列的对象,但也希望是一个2d数组,这将使我可以将网格划分为较小的部分,以便在空白和编号正方形之间进行随机化。我不确定在哪里实施。 它必须是2d数组,因为我将进行布局的分割和反转。

这是我的Grid类,其中包含一些方法。 (还有rest

class Grid 
{
    int rows; //x
    int columns; //y
    Square field;

public:
    void SetXY(int x, int y)
    {
        rows = x;
        columns = y;
        return;
    }
public:
    void DisplaySize()
    {
        cout << "Rows = ", rows, "Columns = ", columns;
    }
};

1 个答案:

答案 0 :(得分:1)

实现2D数组的最简单方法是使用std::array<std::array<>>std::vector<std::vector<>>-取决于它是静态数组还是动态数组。

但是,您也可以只使用一维std::arraystd::vector,然后通过像row*size_of_row+column那样建立索引来获得第二维。