Я прошел через тонны вопросов на эту тему, но все еще не смог найти ответ, который мог бы использовать.
У меня есть шаблонный класс, который объявлен следующим образом:
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. Полигон - это класс, который я делал ранее.
Вектор должен быть отсортирован либо по площади переданных объектов-полигонов, либо, конечно, по значению переданных целых.
Для этого, я думаю, мне понадобятся две разные реализации add (const Type & element). Тот, который заботится о том, чтобы поместить int в правильное место в векторе, и тот, который заботится о том, чтобы получить площадь многоугольника и вставить его в правильное место в векторе.
Мы говорим AFAIK о специализации шаблонов.
Я пробовал несколько разных методов, но до сих пор только что встречались с ошибками компилятора. Каков наилучший способ добиться этого?