我已經在網絡上搜索了很多戰略模式的例子,但我找到的例子都是簡化的方法。瞭解策略模式
我想實現MyMatrix類。爲此,我使用策略模式,即創建了一個Matrix類和兩個繼承類:RegMatrix和SparseMatrix,它們在實現上有所不同。我知道MyMatrix應該持有一個指向Matrix的指針(我們稱之爲* _matrix),然後如果我想實現MyMatrix的函數「print」,我應該這樣做:_matrix-> print()然後它選擇了適當的實現。
我唯一不明白的是: 在myMatrix的的構造函數,它得到一個數組,矩陣大小,我需要選擇 型矩陣的某個對象並對其進行初始化? 我的意思是,我應該這樣做:
MyMatrix::MyMatrix(double arr[], unsigned int colSize, unsigned int rowSize)
{
_colSize = colSize;
_rowSize = rowSize;
_matrix = new RegMatrix(arr, colSize, rowSize);
}
由於在全局名稱空間和各種名稱的主機中保留了前導下劃線,所以使用下劃線後綴比使用下劃線前綴更安全 – 2014-09-02 17:54:41