我已经在网络上搜索了很多战略模式的例子,但我找到的例子都是简化的方法。了解策略模式
我想实现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