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

О чём эта книга

Книга, которую вы держите в руках, — это введение в язык программирования С++. Она начинает обучение с самого начала ( а откуда ещё можно начинать? ) и ведёт вас по пути от азов к более сложным вопросам программирования на С++. От читателя не требуется каких-либо знаний в области программирования.

В книге масса примеров. Любая рассматриваемая концепция сопровождается конкретными примерами её использования на практике — от нескольких строк кода до завершённых работоспособных программ.

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

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

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

Эта книга не обучает программированию для какой-то определённой операционной системы. Она одинаково полезна как для программиста в Windows, так и для программиста в OS/2, Unix, Linux, BeOS или иной операционной системе. Если вас интересует программирование для конкретной операционной системы, то поищите более специализированную книгу.

Прилагаемый компакт-диск

На прилагаемом к книге компакт-диске содержатся исходные тексты всех примеров из этой книги. Это избавит вас от излишней работы по их набору на клавиатуре.

Ваш компьютер не в состоянии непосредственно запустить на выполнение программу на языке С++. Сначала такая программа должна быть обработана компилятором, который создаёт из исходного текста программы исполняемый файл. ( О том, как это делается, подробно рассказывается в . )

Программы в данной книге могут быть скомпилированы любым стандартным компилятором С++, но если у вас его нет, то вам поможет прилагаемый компакт-диск, на котором имеется интегрированная среда разработчика Dev-C++. Однако это не значит, что вы должны использовать именно её.

Кроме того, на этом компакт-диске вы найдёте много интересных и полезных материалов и программ, связанных с использованием языка С++.

_________________

17 стр.

Что такое С++

С++ представляет собой объектно-ориентированный низкоуровневый язык программирования, отвечающий стандартам ANSI и Международной организации стандартов ( I nternational S tandards O rganization — 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 стр.