Re: [問題] 請問函式的引數若為另一函式,是否就不 …
看板C_and_CPP (C/C++)作者littleshan (我要加入劍道社!)時間16年前 (2009/05/29 15:25)推噓5(5推 0噓 3→)留言8則, 3人參與討論串4/4 (看更多)
※ 引述《Carbontube (碳管)》之銘言:
: 我想請問大大,這matrix class實做是要怎樣才會自己free呢?
class Matrix {
public:
Matrix(int m, int n)
: my_dim1(m), my_dim2(n), my_data(), my_data(new double[m*n])
{
// empty
}
Matrix(const Matrix& m); // TODO
~Matrix()
{
delete [] my_data;
}
double& operator()(int i, int j)
{
return my_data[i * my_dim2 + j];
}
Matrix& operator=(const Matrix& m); // TODO
private:
int my_dim1, my_dim2;
double *my_data;
};
如此一來就完成了一個簡單的 Matrix class
ctor 中會進行記憶體配置
dtor 中會釋放記憶體
還可以用 m(i, j) 的方式來存取其中的元素
請記得寫 copy constructor 以及 copy assignment
若你不寫,compiler 會產生一組預設的給你,但它是絕對會產生問題的
最後
在這個板上經常看到即使用 C++ 還是會對 class/struct 做 typedef 的程式碼
請記得 C++ 的 class/struct 名稱就是一個型別
所以不需要再對它們做 typedef 了
C code 才需要這麼做
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.163.145.14
推
05/29 15:34, , 1F
05/29 15:34, 1F
推
05/29 17:01, , 2F
05/29 17:01, 2F
→
05/29 17:01, , 3F
05/29 17:01, 3F
→
05/29 17:02, , 4F
05/29 17:02, 4F
推
05/29 17:08, , 5F
05/29 17:08, 5F
推
05/29 17:17, , 6F
05/29 17:17, 6F
推
05/29 17:20, , 7F
05/29 17:20, 7F
→
05/29 17:22, , 8F
05/29 17:22, 8F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 4 之 4 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章