Добро пожаловать в пятое издание книги С++ для "чайников". В ней вы найдёте всю необходимую для изучения С++ информацию, изложенную доступным языком и не отягощённую излишними подробностями.
О чём эта книга
Книга, которую вы держите в руках, — это введение в язык программирования С++. Она начинает обучение с самого начала ( а откуда ещё можно начинать? ) и ведёт вас по пути от азов к более сложным вопросам программирования на С++. От читателя не требуется каких-либо знаний в области программирования.
В книге масса примеров. Любая рассматриваемая концепция сопровождается конкретными примерами её использования на практике — от нескольких строк кода до завершённых работоспособных программ.
В отличие от других книг по программированию на С++, в этой книге вопрос "почему" считается не менее важным, чем вопрос "как". И потому перед изложением конкретных особенностей языка С++ я старался объяснить читателю, как они действуют в целом. Ведь каждая структурная особенность языка — это отдельный штрих единой картины.
Чтобы уяснить, зачем нужны те или иные особенности языка, постарайтесь понять, как они работают. Прочитав книгу, вы сможете написать на С++ вразумительную программу и, что не менее важно, будете понимать, почему и как она работает.
Эта книга может использоваться и как справочник. Например, если вы хотите разобраться, как работать с шаблонами, вы просто обращаетесь к главе 27, "Шаблоны С++", не читая всю книгу. В каждой главе имеются ссылки на изложенный ранее материал, необходимый при чтении данной главы, что облегчает чтение книги не по порядку.
Эта книга не обучает программированию для какой-то определённой операционной системы. Она одинаково полезна как для программиста в Windows, так и для программиста в OS/2, Unix, Linux, BeOS или иной операционной системе. Если вас интересует программирование для конкретной операционной системы, то поищите более специализированную книгу.
Прилагаемый компакт-диск
На прилагаемом к книге компакт-диске содержатся исходные тексты всех примеров из этой книги. Это избавит вас от излишней работы по их набору на клавиатуре.
Ваш компьютер не в состоянии непосредственно запустить на выполнение программу на языке С++. Сначала такая программа должна быть обработана компилятором, который создаёт из исходного текста программы исполняемый файл. ( О том, как это делается, подробно рассказывается в главе 1, "Написание вашей первой программы". )
Программы в данной книге могут быть скомпилированы любым стандартным компилятором С++, но если у вас его нет, то вам поможет прилагаемый компакт-диск, на котором имеется интегрированная среда разработчика Dev-C++. Однако это не значит, что вы должны использовать именно её.
Кроме того, на этом компакт-диске вы найдёте много интересных и полезных материалов и программ, связанных с использованием языка С++.
_________________
17 стр. Введение
Что такое С++
С++ представляет собой объектно-ориентированный низкоуровневый язык программирования, отвечающий стандартам ANSI и Международной организации стандартов ( International Standards Organization — ISO ). Объектная ориентированнось С++ означает, что он поддерживает стиль программирования, упрощающий кодирование крупномасштабных программ и обеспечивающий их расширяемость. Будучи низкоуровневым языком, С++ может генерировать весьма эффективные высокоскоростные программы.
В качестве объектно-ориентированного языка программирования С++ обладает высокой степенью гибкости и расширяемости, что обеспечивает его применение для создания крупномасштабных проектов. В настоящее время С++ является одним из наиболее популярных языков программирования для разработки приложений любого типа. Большинство современных программ, работающих на персональных компьютерах, написаны именно на С++.
С++ на 99.9% стандартизированный язык, что делает его высокопереносимым языком программирования. Компиляторы для С++ есть во всех операционных системах, и все они поддерживают один и тот же С++ ( ряд компиляторов имеет собственные расширения языка, но все компиляторы обязаны поддерживать стандарт С++ ).
Соглашения, принятые в книге
Описываемые сообщения или любая другая информация, отображаемая на экране, будет выглядеть так:
Hi mom!
Программный код будет представлен таким же образом:
// программа
void main( )
{
}
Если вы решили набирать программу вручную, следите за тем, чтобы её текст полностью соответствовал напечатанному в книге, за исключением количества пробелов, которое может быть произвольным.
Всяческие компьютерные сообщения, такие как команды и имена функций, будут выглядеть вот так. После имён функций всегда следуют открывающая и закрывающая скобки, например myFavoriteFunction( ). Аргументы функции в изложении обычно опускаются ( кроме случаев, когда их указание необходимо для понимания или большей ясности изложения ). Согласитесь, гораздо проще сказать "это функция myFavoriteFunction( )", чем "это функция myFavoriteFunction( int , float )". Иногда для выполнения некоторых действий в книге рекомендуется использовать специальные команды клавиатуры. Например, когда в тексте содержится инструкция: нажать
Время от времени будут использоваться команды меню, например File => Open. В этой строке для открытия меню File и выбора нужной команды из него предлагается использовать клавиатуру или мышь.
В связи с тем, что в разных средах программирования для выполнения одинаковых действий часто используются разные комбинации клавиш, я буду редко использовать в книге функциональные клавиши — просто чтобы не запутывать читателей.
_________________
18 стр. Введение
Как организована эта книга
Каждая новая структурная возможность языка будет охарактеризована следующим образом:
-что представляет собой эта возможность;
-зачем она включена в язык;
-как она работает.
Разделы книги щедро снабжены небольшими фрагментами программного кода. Каждый из них иллюстрирует представленные особенности или основные моменты некоторых моих разработок. Эти фрагменты не всегда закончены и в основном не представляют собой ничего существенного.
Примечание. Необходимость соблюдать формат книги требовала переноса очень длинных строк кода. В конце таких строк появляется стрелка, которая напоминает о том, что следует продолжать ввод, не торопясь нажимать клавишу
И ещё...
Исходные тексты реальных программ обычно имеют очень большой объём. Однако именно реальные программы представляют собой отличный учебный материал для новичка, изучающего язык программирования. Ряд программ и пояснений по их работе вы найдёте на прилагаемом компакт-диске.
Я использую одну демонстрационную программу, которую я назвал BUDGET. Она рождается как простая, процедурно ориентированная программа. Постепенно обрастая структурными особенностями, описанными в каждой новой части, к концу книги программа BUDGET предстанет перед вами во всей красе своего объектно-ориентированного содержимого. Возможно, работа с этой программой покажется вам страшной тратой времени. Если это так, вы можете пропустить первые варианты программы ( хотя, по мнению нашего редактора, замысел довольно удачный ). Тем не менее я надеюсь, что, разобрав программу BUDGET, вы постигнете тайну согласованной работы возможностей С++.
Часть 1. ПЕРВОЕ ЗНАКОМСТВО С С++
Эта часть является отправной точкой нашего путешествия в мир С++. Вы начнёте его с нелёгкого испытания — написания своей первой компьютерной программы. Затем перейдёте к изучению синтаксиса языка.
Часть 2. СТАНОВИМСЯ ФУНКЦИОНАЛЬНЫМИ ПРОГРАММИСТАМИ
В этой части новоприобретённые знания основных команд С++ пополнятся способностью объединять фрагменты программного кода в модули и повторно использовать их в программах.
Здесь также представлена внушающая наиболее благоговейный страх тема: указатели в С++. Если вам это ни о чём не говорит, не волнуйтесь — скоро вы обо всём узнаете.
_________________
19 стр. Введение
Часть 3. ВВЕДЕНИЕ В КЛАССЫ
В этой части дело запутывается всё больше и больше: начинается обсуждение объектно-ориентированного программирования. По правде говоря, объектно-ориентированный подход к построению программ и есть главная причина возникновения и активного использования С++. Ведь отказавшись от объектно-ориентированных особенностей С++, мы просто возвратимся к его предшественнику — языку программирования С. В этом разделе обсуждаются такие понятия, как классы, конструкторы, деструкторы и прочие не менее "страшные" термины. Не волнуйтесь, если пока что вы не совсем понимаете, о чём идёт речь.
Часть 4. НАСЛЕДОВАНИЕ
Возможность наследования — это как раз то главное свойство объектно-ориентированного программирования, которое обеспечило ему известность и распространённость. Обсуждение этой одной из наиболее важных концепций, понимание которой служит ключом к эффективному программированию на С++, и является темой четвёртой части. Теперь дороги назад нет: закончив освоение этого материала, вы сможете назвать себя настоящим объектно-ориентированным программистом.
Часть 5. ПОЛЕЗНЫЕ ОСОБЕННОСТИ
К моменту знакомства с этой частью вы уже будете знать всё необходимое для эффективного программирования на С++. Здесь же затрагиваются некоторые оставшиеся дополнительные вопросы, такие как ввод-вывод, обработка ошибок и шаблоны.
Часть 6. ВЕЛИКОЛЕПНАЯ ДЕСЯТКА
Разве книга для "чайников" может считаться законченной без такой полезной напутствующей части? В её первой главе вы узнаете наилучшие способы избежать ошибок в программах.
Во второй главе данной части вы познакомитесь со средой разработки Dev-C++. Среда разработки не является частью языка С++, но умение работать с ней составляет важную часть знаний и умений любого программиста.
Использованные в этой книге пиктограммы :
«Технические подробности, которые можно пропустить при первом чтении.»
_________________
20 стр. Введение
[Советы]
«Советы, которые помогут сохранить много времени и усилий.»
[Диск]
«Материал на прилагаемом компакт-диске.»
[Помни!]
«Запомните — это важно.»
[Атас!]
«Тоже важное напоминание. Это указание о том, что здесь легко допустить ошибку и даже не догадаться о ней.»
Что дальше
Обучить языку программирования — задача отнюдь не тривиальная. Это эначит не стандартная, не простая, не банальная ( прим. — рер. ). Я попытаюсь сделать это настолько мягко, насколько возможно, но вы должны будете поднатужиться и освоить некоторые элементы серьёзного программирования. Так что разомните пальцы, приготовьте для книжки почётное место рядом с клавиатурой и — приступим!
_________________
21 стр. Введение