![]() |
|
Программирование >> Расширенная версия языка c++
Самоучитель return 0; Удаление элемента из начала списка i = head -> пшп; р = head; head = head -> next; delete p; return i; Создание отсортированного списка class sorted: public list I public: void :3tore (int i) ; int retrieve () ; void i) list list *p, *p2; new sorted; if(litem) { cout Ошибка выделения памятиХп ; exit(l); item num = i; Поиск места внесения следующего элемента списка : <. р = head; р2 = NULL; , , , I идем в середину > i) I item -> next = p; if(p2) p2 -> next = item; не элемент if [p=heacl) head = item; новый первый элемент break; . p2 = p; p = p -> next; } . if{!p) I идем в конец if (tail) tail -> next = item; tail = item; ite -> next = NULL; . . ) . Приложение Ответы на вопросы и решения упражнений if (! head) первый элемент head = item; int i; list if(!head) { cou Список пуст\п ; return Удаление алента из начала списка i = head -> num; p = head; head = head -> next; delete p; return i; int main( ( list *p; Демонстрация очереди eue q ob; p - £q ob; у/ указывает на очередв p -> store (1); p -> store (2) ; p -> store (3); -, : -. cout cou< p -> retrieve ( ) ; cout p -> cout p cout Демонстрация стека stack s ob; p = указывает на стек p -> store(1) p -> store (2) p -> store (3) cout Стек: ; cout p -> I., II - . ill; 620 . Самоучитель C++ couW< р -> retrieve О ; - г cout р -> retrieve о ; ..И cout \п; Демонстрация отсортированного списка sorted sorted ob; .- . , p = ssorted ob; p -> store (4 p -> store (1) ; . , -. J,-::: p -> store (3) ; c p -> store(9) p -> store (5) cou< Отсортированный список: ; ...-.v: . , - . cou p -> retrieved; , .. .- cout p cout p -> cout p -> cout p cout \n ; return 0; Проверка усвоения материала главы 10 1. Виртуальная кция - это функция, обязательно являющаяся членом класса, объявляемая в базовом классе и переопределяемая в производном от базового классе. Процесс переопределения называют подменой (overriding). 2. Виртуальными не могут быть функции, щиеся членами класса, а также конструкторы. 3. Виртуальные функции поддерживают динамический полиморфизм путем использования указателей базового класса. Если указатель базового класса указывает на объект производного класса, содержащего виртуальную функцию, то выбор конкретной версии вызываемой функции определяется типом объекта, на который он указывает. 4. Чистая виртуальная функция - это функция, у которой нет определения в базовом классе. 5. Абстрактный класс - это базовый класс, в котором содержится по крайней мере, одна чистая виртуальная функция. Полиморфный класс - это класс, в котором содержится, по крайней мере, одна виртуальная функция. 6. Этот фрагмент неправилен, поскольку переопределение виртуальной функции должно обеспечивать тот же тип возвращаемого значения, тот же тип
|
© 2006 - 2025 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |