[英]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.