C ++类,对象和内存管理

时间:2016-11-24 16:52:34

标签: c++ multidimensional-array

我是C ++的初学者,我坚持这个问题

使用适当的文件结构,创建一个名为“Matrix”的类。这个类应该有:(1)std :: array类型的浮点的私有2D容器,(2)一个方法,它将使用作为参数传入的float填充2D容器的所有元素,(3)一个方法打印出来以适当的2D格式筛选容器的内容,以及(4)容器的各个元素的getter / setter方法。对于(4),确保测试超出范围的请求。在主函数中使用合适的代码进行测试。

    class Matrix
{
private:
    std::array<std::array<float, 3>, 3> arr = { { { 5, 8, 2 },{ 8, 3, 1 },{ 5, 3, 9 } } };
public: 
    void display(); 

};
int main()
{
    Matrix Matrixclass;
    Matrixclass.display();

    return 0;
}
void Matrix::display()
{
    cout << "Values inside the container: " << endl;

    for (int i = 0; i < 3; i++)             //rows
    {
        for (int j = 0; j < 3; j++)         //columns
        {
            std::cout << arr[i][j] << " ";
        }
        std::cout << std::endl;
    }
}

我是否在正确的轨道上?欢呼声。

1 个答案:

答案 0 :(得分:0)

std :: array用于固定大小的数组。除非您只想实现3乘3矩阵。如果您计划将来有更多维度矩阵,那么使用std :: vector可能是更好的选择。确保进行尺寸验证。

另一种选择是使用模板,它可以让您灵活地拥有其他类型的矩阵。