Главная » Просмотр файлов » Г. Шилтд - Самоучитель C++ (DJVU)

Г. Шилтд - Самоучитель C++ (DJVU) (1114955), страница 84

Файл №1114955 Г. Шилтд - Самоучитель C++ (DJVU) (Г. Шилтд - Самоучитель C++ (DJVU)) 84 страницаГ. Шилтд - Самоучитель C++ (DJVU) (1114955) страница 842019-05-08СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 84)

« р -> гесгтече (); сопт « ''и'; Деиоистрация отсортироеаипого списка аогСес( аогСес( оЬ| р =- ааоггес( оЬ| р -> а~Юге (4); ю — > ат.оге (1),' р -> а~Юге (5),' р -> асоге (Э); р -> асоте (5); сопЮ сопс сопв « геЮпгп 0; Проверка усвоения материала главы 10 1. Виртуальная функция — это функция, обязательно являющаяся членом класса, объявляемая в базовом классе и переопределяемая в производном от базового классе. Процесс переопределения называют подменой (очегг1йпя). 2.

Виртуальными не могут быть функции, не являющиеся членами класса, а также конструкторы. 3. Виртуальные функции поддерживают динамический полиморфизм путем использования указателей базового класса. Если указатель базового класса указывает на объект производного класса, содержащего виртуальную функцию, то выбор конкретной версии вызываемой функции определяется типом объекта, на который он указывает. 4. Чистая виртуальная функция — это функция, у которой нет определения в базовом классе.

5. Абстрактный класс — это базовый класс, в котором содержится по крайней мере, одна чистая виртуальная функция. Полиморфный класс — это класс, в котором содержится, по крайней мере, одна виртуальная функция. 6. Этот фрагмент неправилен, поскольку переопределение виртуальной функции должно обеспечивать тот же тип возвращаемого значения, тот же тип сопЮ сопс сопс соус « "Отсортироаанньй списои," « р -> геггьеее(); « р -> гесгьече()' « р -> ге1г1ече()' « р -> гегг1ече ()," « р -> гегг1ече (); Приложение В. Ответы на вопросы и решения упражнений 627 параметров и то же их количество, что и исходная функция. В данном случае, переопределенная функция )О отличается числом своих параметров.

7. Да. Проверка усвоения материала в целом 1. // Демонстрация возможностей виртуальных Функций ()1пс1цс(е <1овслеап> ()тпс1цс(е <свбб11Ь> цв1пд гамеврасе з1Й; тпе пшк) 11зс () ( пеаа = га11 = пехс = 17(7ы,; чттбаа1 ъ.отс( зсоте(1п~ 1) = О; чтлпца1 тпп песпвече() = О; Создание списка типа очередь с1авв ццеце: риЫ1с 11вп рцЬ11с: чому в~оде(апс 1) тпс тесптече (); с)цеце орега1от+(1пс 1) ( зсоге (1); себцтп *Сдав; 1пс ореласог — (1пс цпцвес() ( тебцлп тете1ече(,); чотс( с(цеце:: з" оге (1п'с 11вп " сепц 1сеп = пеи спеце; И (! Нет) ( соцс << "Отрубка выделения памяти'и"; ехв~ (1); тсеы — > и пО = 1; Добавление злемента в конец списка ' Е'(~а11) Са11 -> пехс = 1пелц са11 =- апет; треп~ -> пехс = ИБвв; 11(!Ьеаб) )теаб = Са11; с1авв 11вп рц)з11с: тввп *ЬЕаб) 11вс *са117 11вс *лехе; указатель на начало списка I/ указатель на конец списка указатель на следуюжий злемент списка число для хранения Самоучитель агг 1пгтзтзетте т т хеьх1езтЕ() ( зпг1 ' 11яс *рю з.й (!(зеас)) ( соил << "Сттисок Пуотзп"," гевыгп О; Удаление элемента иэ начала списка )театт -> птллт р = )теайт 'пеат) = )тена -> пехс; т1е1епе р; геспгп з.; /т Создание списка типа стек с1аяя ясас)г: рп)з11с 11яс рю11с т уо16 ягоге(тпг т) 1пггеггхезте ( ) з ягас)т орехахох+ (1пг 1) ( ягохе (1); гегпгп «г)зая; ) 1пг орегагог -- (1пт; впаяем) ( гегпгп геьг1езтй () з ) )з ло1т) ягас)~т:ягохе(1пп 1) 11яс *1гелтз зпелт =- пеи ясас)тт з,й (! 11ета) ( сонг << "тзттибка выделения памяти'зп" з ехз г (1) з 1геп — > тшлт = з.

Добавление элемента в начало списка 1~ ()зевс)) 1геп -> пехг = 'пеайт )теаст 1гетлт 1 г ( '. ьа11 ) га11 — ттеай т 1пг апас)~:: хегх1еуе () зпг з.т 11яс *р: Приложение В. Ответы на вопросы и решения упражнений ьй! Ьеаб) ( сои~ « "Список пуст~п"; ге1игп О; // Удаление элемента из начала списка = )театр -> пппц р = )теас(; Ьеаг) = ЬеаС) -> пехг; Йе1епе р; геппгп ьпс тпаьп () ( Демонстрация очереди с~пепе а оЬ; с~оЬ+ 1; сгоЬ+2; о оЬ+3; соуп « "Очередь: сопс « и оЬ --; сопс « с~ оЬ вЂ” г сонь « с( оЬ --; сопс « '~п'; Демонстрация стека впаск в оЬ; е оЬ+1; в оЬ е 2; в оЬ 4 3; сонг « "Стек: соус « в оЬ сопс « е оЬ --; сопв « а оЬ --; оопп « 'хп'; геспгп О; 2.

Отличие виртуальных функций от перегружаемых в том, что перегружаемые функции должны отличаться либо числом, либо типом своих параметров. Подменяемая виртуальная функция должна иметь точно такой же прототип (поэтому такой же тип возвращаемого значения, такой же тип параметров и то же их число), как и исходная функция. 624 Самоучитель С++ ГЛАВА 1 1 Повторение пройденного 1. Виртуальная функция — это функция, которая в базовом классе объявляется с ключевым словом иг(ва! и затем в производном классе подменяется другой функцией.

2. Чистая виртуальная функция — это функция, которая в базовом классе не имеет определения функции. Это означает, что функция обязательно должна подменяться соответствующей ей функцией в производном классе.,Базовый класс, который содержит, по крайней мере, одну чистую виртуальную функцию, называется абстрактным. 3.

Динамический полиморфизм достигается посредством использования виртуальных функций и указателей базового класса. 4. Если в производном классе отсутствует подмена не чистой виртуальной функции, то производный класс будет использовать версию виртуальной функции из базового класса. 5. Главным преимуществом динамического полиморфизма является гибкость. Главным его недостатком является некоторое снижение быстродействия. Упражнения 11.1 2. ()Ьпс1пс)е <) оят.пеата> пя'пд павеярасе яТо) сеп~р1аяе <с1аяя х> х пип(х а, х )я) ).Г(а<=)я) теяптп а; е1яе тест тп )о; зпс ваъп() ( сопе « пнп(12.2, 2.0); сопя « епс(1; соп « и Ьп(З, 4)р соя' « епс)1; соие « пш~('с', 'а')) тесптп О; Приложение В.

Ответы на вопросы и решения упражнений б25 3, () Епс1ис(е <1озЬкеаззз> ()1пс1пс(е <сясгтпо> ззятпд пашеярасе ясй; СешР1аге <с1аЯЯ Х> 1пг Й1пс)(Х оЬ3еск, Х *11ЯС, 1пв зтке) ( 1пс 1) йод(1=0) 1<з1кес 1++) 1й (оЬзесв == 11зк(1)) гесигп геспгп -11 згг. взауп() 1ззб а()=()., 2, 3, 4); сЬаг *С=кете проверка"; боиЬ1е с(()=(1.1, 2.2, 3.3)," соня тесн. и 0; 4. Ценность родовых функций в том, что они позволяют определить общий алгоритм, который можно применить к разным типам данных.

(Следовательно, не нужно явно задавать конкретные версии алгоритма.) Кроме этого, родовые функции помогают реализовать основную идею программирования на С++, а именно "один интерфейс — множество методов". 2. /з' Создание родовой очереди ()1пс1пс(е <ьозекеаза> пятну папеярасе ясс1з стс(ейтпе Я12Е 100 сешр1асе <с1аяя зОСуре> с1азз с( буре ЯЬуре <(пепе(Я1ЕЕ) з // содержит очередь ъпс Ьеаб, Ьа11; 2/ индекс вершины и хвоста очереди риЬ11с: с( Ьуре() ( Ьеас( = газ1 = О) чозб с((Даура поззз)) // помешает объект в очередь соие сонг сопя сонг « Йтпс)(3, а, 4); «епс(1з «т1пЫ('а', с, (Зпь) зьт1еп(с) ); « епс(1; « йзпо(0.0, й, 3); Самоучитель Оч~ извлекает объект из очереди ас,уре с(ес) И: Размещение значения в очередь белр1асе <о1аяя 0"уре> уев с( луре<()суре>::с(Игура пвд0 ( Й (ва11+1==)леас1 ( ( (с.а11+1 — 31ЕЕ ай ! аеас() ) соц'= « "Очередь полна1п"т геспгп; са11ч.+ р 1й (~а 11= — ИЛЕ) Са11 = О; тт замыкание цикла с(веце (са11) = пвтп; // Удаление значения из очереди Вепр1а е <о1аяя ()суре> 0суре с) Суресясуре>::с(ес)() ( ):еас(н-+; Ей ()1йас)=Я?ьЕ) Пей = О; гесвгп с(пеие[йеасЦ; замыкание цикла 1п(.

па1п () ( с( Еуре<1пт.> с(1; с( Туре<сЬак> с(2; 1пс 1; Гол(1-1р 1<10, 1++) с(1.с)(1)у Ч2.с)(1-1+'А')т Гол (1=1р 1<10; 1++) соил <с "первая очередь " « с(1.с(ец() « "Ы'; сове « "Вторая очередь " « с(2.с)ес)() « "Ы"; гесшт~ О; 3. ()Епо1ис(е <Еоялдеа~п> ия1пд патпеярасе явй; 1й (аеас( = са11) соцс « "Очередь пуста"; гевпгг. О; // очередь пуста или какая-то иная оллсбка и решения упражнений 627 Лриложение В. Ответы на вопросы тептр1а1е <с1аяя Х> с1авв (при ( Х с1а1а; риЫ1 с: 1прце(сваг '*я, Х п1ап, Х пах); 77 Сепр1асе <с1аяя Х> 1прцТ<Х>::1прис (с(заг *я, Х ллп, Х пах) с(о ( соц" « я « ": с(п » с(ага; )ыЫ 1е (<(аса<таап (( с(аса>тах) т 1пс ваапО ( 1прпс<1пв> 1("ввод целых", О, 10); 1прпс<сйаг> с("ввод символов", 'Л', 'к'); гегцгп О; 11.З 2. Инструкция 1Ьготг вызывается еще до того, как управление передано в блок 1гу. 11А 2.

Для инструкции 1Ьгов нет соответствующей инструкции са1сЬ. 3. Одним из способов решить проблему является создание обработчика са1сЬ(!в1). Другой способ — это перехватывать все исключительные ситуации с помощью обработчика саЫ~(...). 4. Все типы исключительных ситуаций перехватываются инструкцией са1сЬ(...). 5, ((1пс1цбе <1оаегеав> ()1пс1цйе <сяМ11Ь> из(пя патезрасе вЫ; 3.

Вызывается символьная исключительная ситуация, а инструкция са1сЬ предназначена только для обработки исключительной ситуации типа указатель на символ. (То есть для обработки символьной исключительной ситуации нет соответствующей инструкции са1сЬ.) 4. Если возбуждается исключительная ситуация, для которой не задано соответствующей инструкции са1сЬ, то вызывается функция (епв(па(еО, что может привести к аварийному завершению программы. Самоучитель С++ с(оиЬ1е с)1л1с(е (с(онЬ1е а, с(опЬ1е Ь) ( Ьту Е ( ) Ь) ~Ьго~ (Ь) / сассЬ (с(онЬ1е) ( соне « "На ноль делить нельзя~в"; ех1с (1) ' гегигп а/Ь," 1пс лаа1п() сои'= « 61уус(е(10.0, 2.5) « епс)1; сопл « й1ч1йе(10.0, 0.0); гевдгп 0; 11.5 1.

По умолчанию оператор пев возбуждает исключительную ситуацию при появлении ошибки выделения памяти. Оператор ВвтУ(ПОФГ0%) при невозможно-. сти выделить память возврашает нулевой указатель. 2. р = пеи(по1Ьгои) (1пг)' 1г((р) сопя « "Озмбка выделения памяти~в"; // Ьту ( р пеи 1пс; ) сассЬ (Ьас)а11ос Ьа) сош « "Ошибка выделения памяти~в"; // Проверка усвоения материала главы 1 1 1. ((1пс1пс)е <1оятгеаао ()1пс1ибе <сясгупс> пя1пд паюеярасе яЫ; Родовая функция для поиска наиболее часто встречающегося значения Сетр1асе <с1аяя Х> Х люс)е (Х *с)а1а, 1пг я1ке) П иложепие В.

Ответы на вопросы и решения упражнений гед1ялег 1п1 в, х; Х л11, о1с]пб; 1пл совсл, о1бсовпл; о1сЬпб = О; о1бсоппс = О; лог(л-0; с<айве; с++) ( пк2=бапа [ С ]; соппс = 1; йол(и = с+1> и < яйве; ж++) 1Е (лй — баса[и] ) сопла++; 1Е (ооппс.

> о1бсовпс) ( о1с)лк$ = л~б; о1бсоппс = соппс; ) гелпгп о1отб; 1пп л~а1п () ( 1пС 1(] = (1, 2, 3, 4, 2, 3, 2, 2, 1, 5)р с]пал *р = "Это проверка"; сопл « "Значение для массива Нелых: " « побе (1, 10) «епб1; сопл « "Значение для массива символов: " « шобе (р, (ап яЛт1еп(р)) ' лесплп 0; 2. ()1пс1ибе <1озсгеалс> пя1пд патпеярасе албс сепр1асе <с1аяя х> х зал(х *баса, 1пс яйле) 1пс 1; Х хеяп1С = 0; ~от(1=0; 1<я1ге; 1++) теяп1с '= бала[1]; геспгп леяп1с; 1пс та1п ( ) ]пп 1[] = (1, 2, 3, 4); бовЬ1е б(] = (1.1, 2,2, 3.3, 4.4); Самоучитель сопт « вша(1, 4) «епп1у сонг «ягка(<), 4) «епсП; гсгигп 0; 3. ()1пс1пс)е <1оясгеав> пя1пд папеярасе явс[; Родовой класс для пузырьковой сортировки велр1аве <с1аяя ~> чо1с[ ЬпЬЬ1е (Х "с(ат.а, Епв я1ке) ( гедЕяпег Еп~ а, Ь; Хсг Еог(а=1р а<я1ке; а++) Еог (Ь=я1ке-1; Ь>=а„. Ь--) 1Е(г)ага[Ь-1) > с)а~а[Ь)) ( Г = <(а~а [Ь-1); с)а1а [Ь-1] = с)аЕа [Ь); г)аида [Ь) Епг ва1п() 1пг 1[) = (3, 2, 5, б, 1, 8, 9, 3, 6, 9); оопЬ1е с([) = (1 2, 5 5, 2 2, 3 3); Епп 3; ЬиЬЬ1е(1, 10); // сортировка данных типа Еп' ЬпЬЬ1е (с), 4); ЕЕ сортировка данных типа ооиЬ1е Еог(3=0; 3<10) 3++) сопп « 1[9) « сопв « епб1; Еог(3=ОЙ 3<4 с 3 н-) сонг « с)[з) « ' ' р сон' « епб1; гевпгп 0; 4.

Характеристики

Тип файла
DJVU-файл
Размер
8,22 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6418
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее