Главная » Просмотр файлов » Бьерн Страуструп. Язык программирования С++. Специальное издание (2011)

Бьерн Страуструп. Язык программирования С++. Специальное издание (2011) (1004033), страница 200

Файл №1004033 Бьерн Страуструп. Язык программирования С++. Специальное издание (2011) (Бьерн Страуструп. Язык программирования С++. Специальное издание (2011)) 200 страницаБьерн Страуструп. Язык программирования С++. Специальное издание (2011) (1004033) страница 2002018-10-07СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Роли классов 10. ("2.5) Реализуйте систем у объектного ввода/вывода из Э25.4.1 для нескольких типов, включая целые числа, строки и классовую иерархию по вашему выбору. 11. (*2.5) Определите класс огогаЫе в качестве абстрактного базового класса с виртуальными функциями млге оиг () и гела (л () . Для простоты предположите, что символьная строка описывает место для долговременного хранилища. Воспользуйтесь классом ФогаЫе, чтобы написать средство, позволяющее сохранять на диске и читать с него объекты классов, производных от огогаЫе. Протестируйте это средство с парой классов по вашему выбору.

12. (*4) Разработайте базовый класс Регзлгелг с операциями ваге() и ло ваге(), которые определяют, записываются ли объекты в долговременное хранилище деструктором. Кроме указанных операций какие еше полезные операции мог бы предоставлять класс РегзмтелО Протестируйте класс РегягГеш с парой классов по вашему выбору. Является ли Регяжелг узловым классом, конкретным типом или абстрактным типом? Почему? 13.

(*3) Напишите класс отлей, для которого можно сменить представление на стадии выполнения программы. Подсказка: «любую проблему можно решить, введя еше один уровень косвенности». 14. (*3.5) Определите класс Орег, содержащий идентификатор типа И (хл(л» нли С-строка) и операцию (указатель на функцию или функциональный объект). Определите класс Саг оЬ)ест, который содержит список элементов типа Орег и гоЫ*. Снабдите Саг оЬ|еег операциями аМ орег(Орег), которая добавляет Орег к списку; гетоге орег (И), которая удаляет Орег, идентифицируемую с помощью И из списка; орегагог() (И,агй), которая активизирует Орег, идентифицируемую с помощью И. Реализуйте стек котов посредством Саг оЬ)есг. Напишите небольшую программу для тестирования этих классов.

15. (*3) Определите шаблон ОЬ)еег на базе класса Саг оЬ)еег. Используйте ОЬ)еег для реализации стека строк. Напишите небольшую программу для тестирования этого шаблона. 16. (*2.5) Определите вариант класса ОЬуеег под именем С7аи, который гарантиру- ет, что объекты с одинаковыми операциями совместно разделяют список операций. Напишите небольшую программу для тестирования этого шаблона.

17. (*2) Определите шаблон огасй, который предоставляет традиционный и безо- пасный по типу интерфейс к стеку, реализованному шаблоном ОЬуеег. Сравните этот стек с вариантами стековых классов из предыдущих упражнений. Напишите небольшую программу для тестирования этого шаблона. 18. (*3) Напишите класс для представления операций, которые нужно отправ- лять для исполнения на удаленный компьютер. Протестируйте этот класс, либо отправляя команды на другой компьютер, либо при помощи записи команд в файл с последующим их чтением и исполнением.

19. (*2) Напишите класс для композиции операций, представленных объектами функциональных классов (объекгами-функциями). Для двух обьектов г'и а, Соглрозе (г', я) должно порождать объект, который может быть активизирован с аргументом х, пригодным для я, и с возвратом ~(8(х) ), при условии, что возврат я() является приемлемым аргументом дляу(). Приложения и предметный указатель В приложениях представлены грамматика языка С++, обсуждение вопросов совместимости С и С++ и вопросов совместимости между стандартом С++ и пред- стандартными версиями, а также множество технических деталей. Для стандартной библиотеки представлены средства интернационализации, а также концепции, гарантии и методы реализации безопасности при генерации исключений.

Предметный указатель достаточно обширен и является неотьемлемой частью данной книги. Главы А. Грамматика В. Совместимость С. Технические подробности Р. Локализация Е. Исключения и безопасность стандартной библиотеки Предметный указатель Приложение А Грамматика Самая большая опаснопп ь для преподаваееля— учиаь словам, а не вещам. — Марк Блок Введение — ключевые слова — лексические соглашения — программы — выражения — операторы — объявления — классы — производные классы — особые функции-члены — перегрузка — шаблоны — обработка исключений — директивы препроцессора. А.1. Введение Итоговое концентрированное изложение синтаксиса С++ призвано быть формальным дополнением и должно способствовать лучшему его пониманию.

Оно не является абсолютно точным и строгим описанием языка С++. В частности, описанная здесь грамматика содержит некоторые расширения допустимых для С++ конструкций. Требуется применять правила разрешения неоднозначностей для различения выражений от объявлений (5А.5, 5А.7). Кроме того, для выправления синтаксически корректных, но бессмысленных конструкций нужно применять правило доступа, правило типов и правило разрешения неоднозначностей. Стандартные грамматики С и С++ различаются с синтаксической точки зрения минимально, в большей степени через ограничения. Это способствует точности, по не читаемости кода. Приложение А.

Грамматика 926 А.2. Ключевые слова Новые контекстнозависимые ключевые слова вводятся в программу с помощью !урез!еУ(54.9.7), пространств имен (88.2), с помощью объявлений классов (глава 10), перечислений ($4.8) и шаблонов (глава 13)'. гуреде7'-лате: Ыепгфег огфгпа!-патеерасе-пате: Ыелгфег латезрасе-а!1аз: Ыепгфег епит-пате: Ы пф гетр!аге-лате: Ыелгфег Заметим, что гурег!е)'-имя, именующее класс, есть также и с1аш-имя. Если идентификатор явным образом не именует тип, то считается, что он именует что угодно, но только не тип (см, также ВС.13.5).

Ниже перечислены ключевые слова языка С++: Ключевые слова С++ Тр ри апз! лого !пвле ахт ли!о ге!игл гурепате ~ Ыгалх( !оля илюл илх!ялед Ыгог х!елед тигаЫе их!пя х!селу Ьоо! еае латехрасе Ьгеай ~ епит еганс гоЫ Ыггиа! лел ~ ехр1!с1! ыаас сат сазе 1 Ввиду большой пракгической ценности и фактической самоочевидности (для разработчиков компиляторов) представляем авторское формализованное изложение грамматики в точном оригинальном виде (без перевода простейших терминов). Здесь ьи — это сокращение от орйопа) (необязвтельно). — Прим. ред.

латезрасе — лате: опк!па1-патезрасе-пате патеерасе-а!!ах с1аш-лате: Ыел!фег гетр1аге-Ы солипие деуаи!! з(е!еге в!оиЫе Нулат!с сага гея!хгег гет<егрге! сахг !урез!ер гуреЫ 92У А.З. Лексические соглашения А.З. Лексические соглашения Стандартные грамматики языков С и С++ представляют лексические соглашения как грамматические сущности. Это добавляет точности, но не всегда способствует читабельности текстов: Ьех уиай ЬехаЫес!та1-Йяу! ЬехаИес!та1-Йя!! ЬехаЫесута1-Йяу! Ьехадесута!-Йуу!! илл егеа1-сЬагасге«-лате: ~о Ьех-диас! М Ьех-диаЫ Ьех-диаЫ ргергосеееупе-гоаеп: ЬеаЫег-лате ЫелЬУУег рр-питЬег сЬагасгег-1!!его! а!гулу-Ыега! ргергосеее!ля-ор-ог-риис еасЬ пол-и Ьнемрасе сЬагасгег йа! сопла! Ье оле оу йе аЬоие гоЬел: Ьуел~фег !сеул оп! я!его! орегагог рипсуиагог Ьеадег-лате: <Ь-сЬаг-еедиелсе> "д-сЬагмедиепсе" Ь-сЬагмедиелсе: Ь-сЬаг Ь-саагмедиепсе Ь-сЬаг Ь-сЬат апу тетЬег оу йе хоп«се сЬагасгег ее! ехсерг пев-1!пе ат! > д-сЬагмедиелсег д-сЬаг д-сЬагмедиепсе д-сЬаг Приложение А.

Грамматика 928 рр-литЬет Й!ей . Й!д!с рр-питЬег Й!и!1 рр-питЬег лоий!е!с рр-питЬег е е!ел рр-питЬег Е с!Ри рр-литЬег . !Йепфегс по ой!е!с !Йепс(1) ет попй!ей !Йепгс)сет Й!фс попйд(сс опе оГ ил!хетта!-сйатассеь.-пате аЬсоегнпхОК СсВСОВРОН 1 в п К с я Т и Р о В Я орл ми о и х у т тоуихуг Йсе!и опе оГ О 1 2 3 4 5 б 7 В 9 ргергосезс(пе-ор-от-риис! опе оС ) ( ) 4 ()с) %> Ъ:Ъс % ьгсапй «= »= «» -»* ... пеи ае1ете ап<) апб ес ог ес( Ьсьог совр поп ог поп е<( хог хоп ес 81ес.а1с т селе«-1!сета! сйагассег-1йе«а1 с)оа!!пе-1!сего! ясг!пе-й!е> а1 Ьоо1еаи-1йега! си!еле«-йсегай Йейта1-1с1ега( !лсееег-сиЯос,ж ос!а1-!йега( си!еле«-зсй)гсх,р, Ьехайесстас-йсега! !псехег-сиЯахол Йес!та1-1йес.а11 палее«о-Йсесс Йесипа1-й!его! Й!и!с асса!-1йега11 О осса1-1йегас асса(-Й!асс Ьехайесииа1-йсега11 Ох Ьехайес!та1-йесс Ох Ьехайес1та1-Йсей ~1-сйагс апу тетЬет оГсйе сои«се саагас!ег сес ехсерс пех-!(пе апй 929 А.З.

Лексические соглашения Ьехаг!ес1та1-11!ета! Ьехаг!ес!та1-йез! иолхего-а!!е!и оие о! 1 2 3 4 5 б 7 8 9 ос!а1-з!!е!г! оие ог О 1 2 3 4 5 б 7 итфпейзиЯх: опе о! а О 1олд-лф1х! оие о! 1 Ь с-сЬакс аиу тетЬет о!' гЬе зоил е сЬагасгет зе! ехсер! йе з!пе!е-долге, Ьаст!тЬ, о! пте !те сЬапзсгег езсаре-зеаиелсе ипгиегза1-сЬагастег-пате з1тр!е-езсаре-зез!иепсе! опе о! 17 11 ~а 1Ь 18 1п 1х 15 1ч ос!а!-езсаре-зеаиелсе! 1 ос!а!-з!!я1! 1 ос!а!ей!р! лога!-йе1! 1 ос!а!-Й1е1! ос!а!-Йд!! ос!а1-с!!д1! Ьехас!ес1та1-езсаре-зедиепсе! 1х Ьехаз!ес!та1-с!!и1! Ьехаг!ес!та1-езсаре-зедиепсе Ьехадес!та1-Йр! !1оа!!лу-!!!его 1: 2гасг!опа!-силезии! ехропелг-рог!,р,Яоаз1лд-зим,р, с!!е!з-зеаиепсе ехропепт-рат! Яоагзпд-зиЯи,р, Ьехаг1ес1та!-Йр!' опе о! О 1 2 3 4 а ь с а е А В С О Е !п!еиег-зифх: ииз!яиц-зи113х 1оия зуЯЬ~р~ !илу-зим илзфпейзиЯп,р, сЬагасгег-!Иега1: 'с-сЬаг-зеоиелсе' ь'с-сЬаг-зеуиепсе' с-сЬаг-зеаиепсе! с-сЬаг с-сЬаг-зедиеисе с-сЬаг езсаре-зе!!иелсе! з1тр1е-езсаре-зеаиеисе оста!-а!саре-зеаиеисе Ьехас!ее!та!-езсаре-зеЕиепсе 5 б 7 8 9 Г Г Приложение А.

Грамматика )гас!!опа!-сопзсапс! Лясс-зедиепсе,р, . Йе!с-зедиепсе д!есс-зедиепсе . ехро пел!-рапи е з!яп,з, с!се!с-зедиепсе в зсяп,пйе!с-зедиепсе з!ел! оле оГ сС!есс-зедиепсе! д!я!с сС!рс-зедиепсе Йе!с ~1оас!пл-зи()гсх опе оГ Г 1 Г Ь зсг!пя-1!сего!! "з-сЬаг-зедиепсе,рг г,"'с-аГаз-деспсе,е," з-сЬаг-зедиелсе: з-сЬаг з-сьаг-зедиепсе з-сБаг з-сЬагс алу тетЬег огйе зоигсе саас ассе! зес ехсерс с!оиЫе-даосе, ЬасазсазЬ, ог лесе-1!ле езсаре-зедиепсе илсиета1-сЬагассег-пате Ьоо1еап-1йега1! га1ае кхее При составлении лексемы выбирается наиболее длинная возможная посяедоваспезьпость символов.

Например, доийе составляет единую лексему, а не комбинацию из з(о и ибде; последовательность символов +ее есть ++ с последующим е. А.4. Программы Программа — ' это набор единиц трансляции, объединяемых в процессе компоновки (1)п)опя) (В9.4). Единица трансляции (!гааз!абоп-ип1!), часто называемая исходпым файлом (зоигсе ~~1е) — это последовательность обьявлелий (дес1агабопз): !гала!адоп-ипи! с!ее!ага!!ол-зед,р~ А.5. Выражения Выражения рассматриваются в главе 6 с подробным перечислением в В6.2. Определение списха-выражепий (ехргезз!оп-1сз!) эквивалентно определению выражения (ехргезз(ол). Имеются два правила для отличия запятой как операции (операция следования — зес)цепс!пя) и как разделителя списка аргументов функции (В6.2.2).

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

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

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

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