用于排序算法类的基本接口

时间:2014-11-06 14:38:35

标签: c++ algorithm oop sorting

我需要编写一些排序算法,为此我希望有一个基本接口和虚函数Sort()。问题是我真的不知道客户端将使用哪种类型的元素。我只需要比较运算符可用于此类型。所以,它可能是模板,但我不能同时使用模板和虚拟。我需要有关此代码架构的建议。

此外,如果没有就地排序,最好能够传递分配器或内存。我需要插入这部分的地方。也许作为可选参数。

可能我根本不需要课程,另一种程序结构更适合。感谢。

编辑: 使用方法:

obj.SetStrategy(specificAlgortihm);
obj.Execute(array);

...

template <class T>
void Obj::Execute(array)
{
  m_Algorithm->Sort(array);
}

0 个答案:

没有答案