将数组值传递给构造函数?

时间:2018-03-26 00:59:27

标签: c++ arrays

我正在尝试将2x2矩阵传递给像这样的构造函数:

Matrix test =   {{ 1, 2},
                { 5, 6}};

构造函数看起来像什么?

 Matrix(?)

相关问题的答案并未充分解释他们如何解决原始问题。我在他们的通用数组答案中迷失了,并且不确定如何将他们的解决方案用于传统类型。

1 个答案:

答案 0 :(得分:0)

如果你只想要2x2或指定mxn矩阵并简单使用, 试试这个。它也可以用于初始化样式。 (C ++ 11 build)

#include <iostream>
#include <vector>

class Row2 {
public:
    int a1, a2 ;
    Row2(int a1, int a2) : a1(a1), a2(a2) {}
    void print() {
        std::cout << a1 << "," << a2 << std::endl ;
    }
};

class Matrix2 {
public:
    Row2 r1, r2 ;
    Matrix2(Row2 r1, Row2 r2) : r1(r1),r2(r2) {}
    void print() {
        r1.print() ;
        r2.print() ;
    }
} ;

int main() {
    std::vector<Row2> mat2 { {1,2}, {3,4} } ;
    for (auto r : mat2 ) {
        r.print() ;
    }

    Matrix2 mat { {5,6},{7,8} };
    mat.print() ;

    return 0 ;
}