Главная » Просмотр файлов » Г. Шилдт - Полный справочник по C++

Г. Шилдт - Полный справочник по C++ (1109478), страница 46

Файл №1109478 Г. Шилдт - Полный справочник по C++ (Г. Шилдт - Полный справочник по C++) 46 страницаГ. Шилдт - Полный справочник по C++ (1109478) страница 462019-04-28СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Перед изучением объектно-ориентированных конструкций языка С++ следует тшательно изучить основные элементы программ, написанных на нем. В этом разделе рассматриваются вопросы, касающиеся практически всех программ на языке С++. По ходу изложения мы также будем полчеркивать различия межлу стандартом языка С++, языком С и ранними версиями языка С++.

Пример программы на языке С++ рассмотрим простую программу на языке С++. язпс1ице <Тсзсгеат> ив)пд патезрасе вес); Ъпс паз.и() ( Ъис Тг саче « "Это — вывод.~п"; // однострочный комментарий /* Комментарий в стиле языка Р "/ // Ввод числа с помощью оператора » сове « "Введите число: схп » // Теперь выведем число с помощью оператора « Глава 11. Обзор языка С++ соцс « з « " в квадрате равно < з"з « "~п"; ге(:игп Ог ) Очевидно, что эта программа сильно отличается от программ, приведенных в первои части.

В нсй есть весьма гюлсзныи однострочнь(и комментарий. Она начинается с включения заголовка <зоаекеадг>, поддсрживакядсго ввод-вывол в стмле языка С++, (Аналогом заголовка <1оаекааж> в языке С является заголовочныи файл <всгззо.Ь>.) Обратите внимание на ешс олпу особешюстгк заголовок хоаекеам не имеет расширения .)з, поскольку стандарт языка С-~.ч- не использует сгарый стиль. Следующая строка програлгмы $ цвзпд дагкеарасе еецг сообшает компилятору, что следует использовать пространство имсп асс). Пространсгво имен прслставляст собой новшество, недавно включенное в язык С++. Пространство имен созласт область видимости, в которои могут размещаться различные элементы програьглзы.

Они позволякзт организовывать большие прогрггхгкгьь Опсратор цазпя информирует компилятор о том. что программист желает использовать пространство имен всгт. В этом пространстве имен объявлена вся стандартная библиотека языка С++. Таким образом. пространство измен вест упрощает поступ к стандартнои библиотеке. Программы, включенные в первую часть книги, использовали только язык С. Пространства имен в них были не нужны, поскольку по умолчанию библиотечные функции языка С находятся в глобалыюм пространстве имен. Поскольку зааоловки в новом стиле и пространства имен включены в язык С+-~ лишь недавно, старые приараммы их не используют.

Крома гпоао, старые компиляпюры также не поддерживают згпи механизмы. Как гюсгпупать е таких ситуациях, мы расскажем ниже. Рассмотрим теперь следующую строку. я зпе ага>и() Обрати~с внимание на то, что список параметров функции вгазп() пуст. Этим она отличается от языка С, в котором функш(я, нс имеющая параметров, должна вместо списка параметров использовать ключевое слово чозс(. $ хпь гзахп(иохс)) Именно так объявляяась функция мазпщ в псрвои части книпс Однако в языке С++ использовать для этого ключевое слово воза совершенно нс обязательно Как правило, в языке С++, если функция не имеет параметров, список параметров просто не указывается и слово <го(х( в скобках юписывать не нужно. Следующая строка иллюстрирует два свойства языка С-;+, я соде « "Это — вьгаод.'зп", гг' Однострочньги комментарий Во первых, оператор (я сои(.

« "Это — вывод.'хп"; выводит иа экран сообщение "это — вывод." и вьшолняез переход на следующую строку. В язьгке С++ оператор "«" имеет несколько значении Он по-прежнему является оператором побитового сдвига влево, но, как показывает данный пример, также используется в качестве операпюра вьгвода, Слово ооце представляет собой идентификатор, связанпыи с экраном.

(На самом деле язык С++, как и язык С, поддерживает перенаправление ввода-вывода, но для простоты будем предполагать, что идснтифика- Часть!!. Язык С++ тор попе всегда связан с экраном.) Идентификатор соце и оператор "«" можно применять для вывода данных любого встроенного типа, а также сии волг ных строк. Обратите внилзание на то, что для вывода можно по-прежнему использовать функцию ре1педО и другие функции. предусмотренные для ввола-вывода данных в языке С.

Олнако большинство программистов полагшот, что использование оператора "«" больше соответствует духу языка С++. Более з ого, хотя применение функции ркхпех() при выводе строк фактически эквивалентно оператору "к<". система ввода- вывода языка С++ предоставляет программистам болсс широкие возможности, позволяя вводить и выводить объекты, а не только даппыс встроенных типов, как в языкс С. Вслед за оператором вывола в программе помещен однострочный комментарии (а(пя!е.))пе сошглеп!). Как указывалось в главе (й, в языкс С+е есп лва вила комментариев.

Во-первых, в программах можно по-прежнему использовать многострочные комментарии в стиле языка С. Кроме пих, используя символы гг, можно определять однострочные комментарии. Компилятор ипюрирует их содержимое комментариев. Как правило, программисты используют многострочные комме|парии лля пространных описаний, а однострочные -. для кратких замечании. Затем программа предлагает пользователю ввести число, которос считывается с клавиатуры с помощью оператора $ схп » 1; В языке С++ оператор "»" по-прежнему является оператором побитового сдвига вправо.

Однако, как показано выше, в языке С-:::-ь он играет роль оператора вывода. Этот оператор присваивает переменнои х значение, ввслешгое с клавиатуры. Идентификатор с1п означает стандартный поток ввода, обычно связанный с клавишурой. Как правгьао, выражение с(зз "»" позволяет вволить ланныс любгях встроенных типов, а также строки. Списанная выгое строка кода не садержигп опечагпок.

В часпмосггв, перед иденпафикалюром з не следует ставить символ в. При вводе онформацоо с помои(ью функций языка С, например, функции еселл О, необкодоьа лвредазаль указатель на переменную, погвчаюоую значение. Именно по элюи причине перед еа имегюм е языке С необходимо указывать оператор получения адреса а Однако оператор вяз" е юыке Сь+ реализован иначе, поэтому он не используегп !точное говоря, не должен использована) операгпср гюлученоя адреса а Причины объясняются в главе ГЯ В программе на языке С++ вместо опсразора "»" можно применять любые функции ввода, предусмотренные языком С, в частности, функпию всапх(), хотя в данном примере эта возможность не использовалась. Однако, как и при использовании оператора "«'", большинство программистов полагают. что оператор "»" больше соответствует духу языка С-ьъ.

Рассмотрим егце одну интересную строку программы. $ соов « 1 « "в квадрате равно " « !'1 « "Хп"; Предположим, по переменная х имеет значение )О Тогда данныи оператор выведет на экран фразу "10 в квадрате равно 1оо"'. Как видим, в однои и той же строке программы можно использовать несколько операторов «подряд. Программа завершается оператором $ гесогп 0; Он возвращает вызывающему процессу (как правило, операционнои сисзсме) пулевое значение.

В программе на языке С'+ этот оператор работаег точно так же, как и в программе на языке С. Нулсвое значение является признаком нормального завершения работы программы. Аваряйное завершение должно сопровождаться возвращением ненулевого значения. Кромс топз, в этом случае можно применять именованные константы кххт Вцсскяв и ккхт клххцвк, Глава )!. Обзор языка С++ Операторы ввода-вывода Операторы "«'* и "»" можно применять соответственно для вывода и ввода данных любо~о встроенного типа.

Например, слелующая программа вводит ланные типа В1оае, доиЪ1е и строку, а затсм выводит их на экран. ехпс1ш)е <хозегеащ> изхпс паюеврасе зес); хпс щахп() ( х1оас Е/ с)хат всг(80); стоп)х1е хт; сове « введите два числа с плавающей запятой". схп » х » С(: сове « "Введите строку: схп » вел; сонг. « х « " " « гт « ' " « всг; гееигп 0; Запустите эту программу и попробуйте ввести строку "это проверка", когда она прелложит это сделать. Программа вывелет на экран лишь слово "Вто".

Остальная часть с(роки будет проигнорирова~(а, поскольку за словом *'это" следует разделитель. Таким образом, строка "проверка" не считывается программой. Кроме того, этот пример показывает, что в одной и тои же строке можно применязь несколько операторов ввода "«" подряд. Операторы енола-вывода, предусмотренные в языке С++, реагируют на все эскейп-последовательности, перечисленные в главе 2. Например, следующий фрагмент является совершенно правильным. $ соив « "дхевхСС; Этот оператор вывалит на экран символы /х, В и С. разделенные табуляцией. Объявление локальных переменных Если вы знаете язык С, обратите внимание на важное различие между языками С и С++, касающееся объявления локальных переменных.

В сганлартс С89 локальные переменныс каждого блока должны быть объявлены в его начале. Переменные нельзя о(лишить после выполняемого оператора. Например, в стандарте С89 слелуюший пример является неправильным. /* Фрагмент, неправильна й в языке С. В языке Сь~ это вполне допускается */ хпе с() ( ъпе х; 10: хпе з; /* В программах на языке с так делать нельзя. */ х.*2; гесигп 3; Часть 1!. Язык С++ В программах, соответствующих станларту С89. эта функция вызовет сообщение об ошибке, поскольку между объявлениями переменных 1 и З находится опсРатор присваивания. Однако, сели скомпилировать этот фрагмент в программе на языке С++, все будет в порядке.

В языке С++ (и С99) переменныс можно объявлять в любом месте программы, а не только в начале блоков. Рассмотрим еще олин пример. Это вариант программы из прелыдущсго раздела, в котором переменная ясх обьявляется только тогла, когда в ней возникает необходимость. Мьп<1иое <)оясхевт. ияьпд пвгвеярвсе ясо; упе ваап() х1овх х; с)оиЫе с); сове « "Епсех Хио Й1ояс)пд ро)пе потЬехя: с1п»Е»З; совх « "введите строку: <бах яъх(60); Г/ Строка яхх ооъявляется алесь, сьп » ясх; соих « х « " " « о' « " " « яех; хехохп О; ) Программист может сам решать, где ему улобнее объявлять переменные.

Однако, следуя принципам инкапсуляции кода и данных, переменные рекомендуется объявлять поближе к месту их применения. В предыдущем примере объявления переменных были разделены просто лля демонстрации такой возможности, но в других ситуациях зто свойство языка может оказаться намного ценнее. Объявление переменных непосредствсюю перед их использованием позволяет избежать возможных побочных эффектов. Однако наибольшую пользу это приносит в больших функциях. Честно говоря, в коротких функциях (к которым относится большинство наших примеров), пет особого смысла распрслелять объявления переменных по всему тексту. достаточно просто объявить их в самом начале функции. Поэтому мы булсм применять этот прием сообргзно размерам и сложности создаваемых функций. У специалистов нет общего мнения по поводу локализации объявления переменных.

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

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

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

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