【发布时间】:2012-04-03 06:16:23
【问题描述】:
我就这个主题提出了很多问题,但仍然找不到我可以使用的答案。
我有一个模板类,声明如下:
template <typename Type, int inSize>
class sortedVector
{
public:
sortedVector();
int getSize();
int getAmountElements();
bool add(const Type &element);
private:
Type *vector;
int size;
int amountElements;
};
该类应该表示可以存储任何类型元素的排序向量。这是编程课程作业的一部分。到目前为止,赋值中给出的主函数似乎将整数和 Polygon 类型的对象都传递给了函数。 Polygon 是我之前学过的一个类。
向量应该按传递的多边形对象的面积排序,或者当然,按传递的整数的值。
为此,我认为我需要两个不同的 add(const Type &element) 实现。一种负责将 int 放入向量中的正确位置,另一种负责获取多边形的面积并将其插入向量中的正确位置。
我们谈论 AFAIK 关于模板的专业化。
我尝试了几种不同的方法,但到目前为止只是遇到了编译器错误。实现这一目标的最佳方法是什么?
【问题讨论】:
-
你的
sortedVector不应该也存储一个比较函子吗? -
你的意思是==?可能,我对此完全陌生,但如果需要,我稍后会添加它。我需要它做什么? :)
标签: c++ templates member specialization