C ++中矩阵类的构造函数

时间:2016-05-20 17:57:09

标签: c++ oop c++11 matrix constructor

我正在用C ++编写一个矩阵操作类作为课程项目。我希望语法尽可能接近MATLAB。我希望为矩阵实现一个构造函数,它允许我执行如下所示的操作:

String myUsername = userNameInputET.getText().toString();
if(mUsersRef.child(myUsername).getValue() == null) {
   //do stuff
} else {
   //do other stuff
}

我尝试过使用Matrix X(3,3) = {1, 2, 3, 4, 5, 6, 7, 8, 9}; // [1 2 3] // X = [4 5 6] // [7 8 9] 构造函数但只允许我这样做:

initializer_list

这是我的构造函数的代码:

Matrix X(3,3,{1, 2, 3, 4, 5, 6, 7, 8, 9});

我需要有关如何实施第一个的建议。

1 个答案:

答案 0 :(得分:2)

你的问题在于语法。

Matrix X(3,3) = {1, 2, 3, 4, 5, 6, 7, 8, 9};

不是合法的c ++,因为您在一个声明中同时使用direct initialization语法和aggregate initialization语法。这意味着你想做的事情无法奏效。但是,您可以这样做:

Matrix X(3,3);
X = {1, 2, 3, 4, 5, 6, 7, 8, 9};

我相信它会与您的代码一起使用。