c++ - 构造一个空矩阵

标签 c++ matrix multidimensional-array

<分区>

我有课

class A
{
    int *const e;
    const int row, column;
public:
    A(int r, int c); // create a empty matrix with r rows and c columns passed in method
}

int main(int argc, char* argv[])
{
    A test(2,2); 
    return 0;
}

问题是我如何编写一个构造函数来创建一个我可以使用的矩阵?

最佳答案

你的构造函数就是

A::A(int r, int c) : row{r}, column{c}
{
    e = new int[r * c];
}

那么你的析构函数应该是

A::~A()
{
    delete[] e;
}

您可以访问这些元素

for (int i = 0; i < row; ++i)
{
    for (int j = 0; j < column; ++j)
    {
        std::cout << e[i * row + j] << " ";  // Using array arithmetic
    }
    std::cout << std::endl;
}

关于c++ - 构造一个空矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27284864/

相关文章:

c++ - 我的 C++ 代码中的字母计数器工作不正常

c++ - 如何防止 libwebsockets 客户端超时

MATLAB - 如何声明一个 "row slots"的矩阵供我插入行?

c++ - openCV 创建不同大小的 3D 矩阵

java - 从 deeplearning4j 层提取特征

c - 如何使用动态分配的任意维数组?

c - 在二维数组中以之字形顺序打印数字

c++ - 将阴影添加到 ListView(图标模式)?

c - 给定二维矩阵,找到最长的递减数字序列

c++ - C++11 中的委托(delegate)