繁体   English   中英

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

[英]Pass array values to constructor?

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

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

构造函数是什么样的?

 Matrix(?)

链接问题中的答案不足以说明他们如何解决其原始问题。 我不知道他们对通用数组的回答,并且不确定如何将其解决方案用于常规类型。

如果只想使用2x2或指定的mxn矩阵并简单使用,请尝试此操作。 它也可以使用您的初始化样式。 (C ++ 11版本)

#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 ;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM