Я просмотрел множество вопросов по этому вопросу, но до сих пор не смог найти ответ, который мог бы использовать.Шаблон класса член функции специализация?
У меня есть класс шаблона, который объявлен следующим образом:
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 об специализации шаблонов.
Я пробовал несколько разных методов, но до сих пор был встречен ошибками компилятора. Какой был бы лучший способ достичь этого?
Если не ваш 'sortedVector' также не хранить сравнительный функтор? – pmr
Вы имеете в виду a ==? Возможно, я совершенно новичок в этом, но если это необходимо, я добавлю его позже. Для чего мне это нужно? :) – JKase