100 БАЛЛОВ!!!
С++

Написать Интерфейсный шаблонный класс Base_List и шаблонный класс Sorted_List(Отсортированный список), наследуемый из класса Base_List. Тип наследования public. Работа будет вестись с двусвязными списками.
1) В классе Base_List в поле protected указывается длина списка list_size.
В полях public, кроме конструктора по умолчанию и виртуального деструктора, указываются следующие чисто виртуальные функции:

// перегрузка оператора [], возвращает значение, хранящееся в узле списка.
virtual const ItemType& operator[] (const int index) const = 0;
virtual ItemType& operator[] (const int index) = 0;
/
/ добавление узла в список.
virtual Base_List & add_elem(const ItemType& It) = 0;
Список представляет собой совокупность узлов, расположенных в порядке возрастания или убывания значений, которые в них хранятся. Новый узел добавляется на необходимую позицию в списке.

// 2 вида удаления узла из списка.
virtual Base_List & remove_by_value(const ItemType& value) = 0;
virtual Base_List & remove_by_index(const int& a) = 0;
В первом случае аргументом выступает значение хранящееся в узле.
Во втором случае- его индекс.

Кроме этого в классе Base_List должна осуществляться дружественная перегрузка оператора <<
// шаблонная перегрузка оператора <<
template
friend std::ostream& operator<<(std::ostream& os, const Base_List & list);
В класс Sorted_List прописывается работа чисто виртуальных функций из класса Base_List.


dsleeeee: Ну ты дал жару

Ответа на этот вопрос пока нет. Попробуйте найти его через форму поиска.

Похожие вопросы