Есть такая задача:
Моделировать очередь (руками), в качестве элементов которой могут использоваться числа и слова. Операции: добавление элемента, удаление элемента, печать элементов. Создать класс - потомок, который содержит процедуру сортировки слов по алфавиту. Тестировать полученную модель. В отчете представить структуру использованных классов и обосновать выбранн структуру представления данных
-------------------------------------------------------------------------------------------
Мне непонятна вообще технология подхода к ее решению. Ну скажем, очередь можно смоделировать как "руками" так и с помощью STL. Но разнородные элементы? Пытался найти в инете подходы к этому
Предлагают создать список(в нашем случае можно очередь) из указателей общего вида типа void . Код
class GenericList // список указателей общего вида void *
{
public:
void addToList (void * newElement);
void * firstElement();
private:
GenericLink * firstLink;
};
class GenericLink
{
public:
void * value;
GenericLink * nextLink;
};
Теперь там предлагают " определить подкласс класса общего вида и изменить типы аргумента и результата в методах, возвращающих элемент списка. В любом случае фактическую работу выполняет родительский класс."
Код C++
class WindowList : public GenericList
{
public:
void addToList (Window * newElement)
{
GenericList::addToList (newElement);
}
Window * firstElement ()
{
return (Window *) GenericList::firstElement;
}
};
Но далее в том же источнике гоаорится "Но реализация требует определения подклассов как для класса List, так и для класса Link, а также, вероятно, создания новых классов-итераторов"
Годится и наилучший ли это подход к решению сформулированной задачи в моем случае?