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

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

PDF-файл Г. Шилтд - Самоучитель C++ (PDF), страница 3 Практика расчётов на ПЭВМ (37366): Книга - 3 семестрГ. Шилтд - Самоучитель C++ (PDF): Практика расчётов на ПЭВМ - PDF, страница 3 (37366) - СтудИзба2019-05-08СтудИзба

Описание файла

PDF-файл из архива "Г. Шилтд - Самоучитель C++ (PDF)", который расположен в категории "". Всё это находится в предмете "практика расчётов на пэвм" из 3 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .

Просмотр PDF-файла онлайн

Текст 3 страницы из PDF

Так, в С, символ + используетсядля складывания целых, длинных целых, символьных переменных и чисел сплавающей точкой. В этом случае компилятор автоматически определяет,какой тип арифметики требуется. В C++ вы можете применить эту концепцию и к другим, заданным вами, типам данных. Такой тип полиморфизманазывается перегрузкой операторов (operator overloading),Ключевым в понимании полиморфизма является то, что он позволяет вамманипулировать объектами различной степени сложности путем созданияобщего для них стандартного интерфейса для реализации похожих действий.НаследованиеНаследование (inheritance) — это процесс, посредством которого один объектможет приобретать свойства другого. Точнее, объект может наследовать основные свойства другого объекта и добавлять к ним черты, характерныетолько для него.

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

Без использования иерархии классов, для каждого объектапришлось бы задать все характеристики, которые бы исчерпывающе его определяли. Однако при использовании наследования можно описать объектпутем определения того общего класса (или классов), к которому он относится, с теми специальными чертами, которые делают объект уникальным.Как вы увидите, наследование играет очень важную роль в OOP.Примерыр1.

Инкапсуляция не является исключительной прерогативой OOP. Некотораястепень инкапсуляция может быть достигнута и в языке С. Например, приприменении библиотечной функции, в конечном итоге, имеет место концепция черного ящика, содержимое которого вы не можете изменить (исключая,14Самоучитель C++возможно, злой умысел). Рассмотрим функцию fopen().

Если она используется для открытия файла, то создаются и инициализируются несколько внутренних переменных. В той мере, в которой это касается вашей программы,эти переменные скрыты и недоступны. Но, конечно, C++ обеспечивает более надежную поддержку инкапсуляции.2. В реальной жизни примеры полиморфизма вполне обычны. Например, рассмотрим рулевое колесо автомобиля. Оно работает одинаково, независимо оттого, используется ли при этом электропривод, механический привод илистандартное ручное управление.

Ключевым является то, что интерфейс(рулевое колесо) один и тот же, независимо от того, какой рулевой механизм(метод) применяется на самом деле.3. Наследование свойств и базовая концепция классов являются основополагающими для организации пути познания. Например, сельдерей — членкласса овощей, которые являются частью класса растений.

В свою очередь,растения являются живыми организмами и так далее. Без иерархии классовсистематизация знаний была бы невозможна.Упражненияения]1. Подумайте о том, какую важную роль в нашей повседневной жизни играютклассы и полиморфизм.1.2. Две версии C++При написании этой книги C++ находился на перепутье. Как указано впредисловии, в последние годы активно шел процесс стандартизации C++.Целью стандартизации было создание стабильного, ориентированного набудущее языка, которой призван удовлетворить потребности программистовследующего столетия. Результатом стало параллельное существование двухверсий C++.

Первая, традиционная версия базируется на исходной разработке Бьярна Страуструпа. Это та версия, которая использовалась программистами последние лет десять. Вторая версия, названная Standard C++, создана Бьярном Страуструпом совместно с комитетом по стандартизации(ANSI — American National Standards Institute, Американский национальныйинститут стандартов; ISO — International Standards Organization, Международная организация по стандартам). Хотя по сути эти две версии очень похожи, Standard C++ содержит несколько усовершенствований, которых нетв традиционном C++. Таким образом Standard C++ по существу являетсянадмножеством традиционного C++.Настоящая книга учит языку Standard C++.

Эта версия C++, определеннаякомитетом по стандартизации ANSI/ISO, должна быть реализована во всехГлава 1. Краткий обзор C++15_современных компиляторах C++. Примеры программ этой книги отражаютсовременный стиль программирования в соответствии с новыми реалиямиязыка Standard C++. Это означает актуальность содержания книги не толькосегодня, но и в будущем. Проще говоря, Standard C++ — это будущее.А поскольку Standard C++ содержит в себе черты всех ранних версий C++,то, что вы узнаете из этой книги, позволит вам работать в любой программной среде C++.Тем не менее, если вы используете устаревший компилятор, не все приведенные в книге программы будут вам доступны, поскольку в процессе стандартизации комитет ANSI/ISO добавил к языку массу новых черт.

По мереопределения новых черт, они реализовывались производителями компиляторов. Естественно, что между добавлением новой возможности языка и еедоступностью в коммерческих компиляторах всегда есть определенный промежуток времени, а поскольку такие возможности добавлялись в течениенескольких лет, старые компиляторы могут не поддерживать некоторые изних.

Это важно, так как два недавних добавления к языку C++ имеют отношение ко всем, даже простейшим программам. Если у вас устаревшийкомпилятор, в котором указанные новые возможности недоступны, не расстраивайтесь, в следующих разделах описано несколько простых способовобойти проблему.Отличия между прежним и современным стилями программирования в числе прочих включают две новые черты: изменился стиль оформления заголовков (headers) и появилась инструкция namespace.

Чтобы продемонстрировать эти отличия, начнем с рассмотрения двух версий простейшей программы на C++. Первая показанная здесь версия написана в прежнем, ещесовсем недавно основном стиле программирования./*Программа на C++ в традиционном стиле*/linclude <iostrearn.h>int main()/* программный код */return 0;Поскольку C++ строится на С, этот каркас программы должен быть хорошовам знаком, тем не менее обратите особое внимание на инструкциюSinclude Эта инструкция подключает к программе заголовочный файлiostream.li, который обеспечивает поддержку системы ввода/вывода C++.(В C++ этот файл имеет то же самое назначение, что и файл stdio.h в С.)Ниже представлена вторая версия программы, в которой используется современный стиль:16__Самоучитель C++/*Программа на C++ в современном стиле.

Здесь используютсяновое оформление заголовков и ключевое слово namespace*//ttinclude <iostream>using namespace std;int main ( ){/* программный код */return 0 ;Обратите внимание на две строки в самом начале программы, в которыхимеют место изменения. Во-первых, в инструкции ^include после словаiostream отсутствуют символы .h. Во-вторых, в следующей строке задаетсятак называемое пространство имен (namespace). Хотя подробно эти нововведения будут рассмотрены позднее, сейчас дадим их краткий обзор.Новые заголовки в программах на C++Как вам должно быть известно из опыта программирования на С, при использовании библиотечной функции в программу необходимо включитьзаголовочный файл. Это делается с помощью инструкции #include.

Например, при написании программ на языке С заголовочным файлом для функций ввода/вывода является файл stdio.h, который включается в программу спомощью следующей инструкции:#include <stdio.h>Здесь stdio.h — это имя файла, который используется функциями ввода/вывода, и предыдущая инструкция заставляет компилятор включить указанный файл в вашу программу.В первые несколько лет после появления C++ в нем использовался тот жестиль оформления заголовков, что и в С. Для совместимости с прежнимипрограммами в языке Standard C++ этот стиль по-прежнему поддерживается.

Тем не менее при работе с библиотекой Standard C++ в соответствии сновым стилем вместо имен заголовочных файлов указываются стандартныеидентификаторы, по которым компилятор находит требуемые файлы. Новыезаголовки C++ являются абстракциями, гарантирующими объявление соответствующих прототипов и определений библиотеки языка Standard C++.Поскольку новые заголовки не являются именами файлов, для них ненужно указывать расширение .Ь, а только имя заголовка в угловых скобках.

Ниже представлены несколько заголовков, поддерживаемых в языкеStandard C++:Глава 1. Краткий обзор C++17_<iostream><fstream><vector><string>Такие заголовки по-прежнему включаются в программу с помощью инструкции ^include. Единственным отличием является то, что новые заголовкисовершенно не обязательно являются именами файлов.Поскольку C++ содержит всю библиотеку функций С, по-прежнему поддерживается стандартный стиль оформления заголовочных файлов библиотеки С.

Таким образом, такие заголовочные файлы, как stdio.h и ctype.h всееще доступны. Однако Standard C++ также определяет заголовки новогостиля, которые можно указывать вместо этих заголовочных файлов. В соответствии с версией C++ к стандартным заголовкам С просто добавляетсяпрефикс с и удаляется расширение .h. Например, заголовок math.h заменяется новым заголовком C++ <cmath>, а заголовок string,h — заголовком<cstring>.

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