我有一個類定義尺寸爲m×n的像這樣的矩陣:矩陣類C++如MATLAB操作過載
class Matrix{
protected:
int m;
int n;
double* mat:
public:
// accessors, constructors, destructors, etc.
void assignvalue(int, int, double);
}
現在,如果我需要分配在I位置的值,J我有一個函數assignvalue這需要位置i,j並且執行魔術併爲該位置分配一個雙倍值。然而,這將是非常好的,如果你喜歡在MATLAB或R.
mymatrix(i,j) = 1.0;
你能給我什麼運營商(S)我需要重載一個提示我可以分配一個值?謝謝。
Morwenn的回答是正確的,但我的經驗法則是儘量不重新發明輪子。找到一個已經提供線性代數運算的庫。最近,我一直在使用Eigen3,我對此非常滿意。 – 2013-05-07 11:45:02
這是一個論文項目,問題的一部分是重新發明輪子。但感謝您的建議。這說得通。 – 2013-05-07 17:34:24
當然!每個人都應該重新發明一次,以瞭解它是如何工作的。但不適用於生產代碼。 – 2013-05-09 23:33:37