我想在C++中創建一個2x2矩陣類,並且想通過默認構造函數將矩陣初始化爲單位矩陣。我的課程是:在類的默認構造函數中初始化一個2x2矩陣
class Matrix2x2
{
public:
Matrix2x2();
void setVal(int row, int col, double newVal);
private:
double n[2][2];
};
void Matrix2x2::setVal(int row, int col, double newVal)
{
n[row][col] = newVal;
}
我試過了幾個不同的構造函數,但是他們都沒有做我想做的。
Matrix2x2::Matrix2x2(): setVal(0,0,1), setVal(0,1,0), setVal(1,0,0), setVal(1,1,1)
{ }
和
Matrix2x2::Matrix2x2(): n[0][0](1), n[0][1](0), n[1][0](0), n[1][1](1)
{ }
我意識到,它可能只是一個簡單的錯誤的地方,但我不能似乎找不到它,任何想法?
是否有任何理由你不使用像Boost uBlas或NT2這樣的真正的LA庫? – 111111 2013-02-27 16:57:11
爲什麼瘋狂的語法?爲什麼不使用默認值作爲正常的構造函數? – speeder 2013-02-27 17:01:06