Книга, которая у вас в руках, - это введение в язык
программирования C++. Она начинается с азов: от читателя не требуется
каких-либо знаний в области программирования. В отличие от других книг
по программированию на C++, в этой книге вопрос "почему" считается не
менее важным, чем вопрос "как". И потому перед изложением конкретных
особенностей языка C++ читателю разъясняется, как они действуют в
целом. Ведь каждая структурная особенность языка - это отдельный штрих
единой картины. Прочитав книгу, вы сможете написать на C++
вразумительную программу и, что не менее важно, будете понимать,
почему и как она работает.
Книга рассчитана на пользователей с различным уровнем
подготовки.
Тип издания:
Учебное пособие
Место издания:
Санкт-Петербург
Издатель:
Компьютерное изд-во
"Диалектика"
Срок выхода в
свет:
2001, 2 кв.
Количество
страниц:
336, с ил.
Сопровод.
материалы:
Нет
ISBN
(русск):
5-8459-0160-X
ISBN (англ):
0-7645-0746-X
УДК:
681.3.07
Формат:
70x100/16
Моим друзьям и семье, которые
помогли мне стать "чайником" в еще большей
степени, чем я есть на самом деле
Об авторе
Стефан Р. Дэвис (Stephen R. Davis) - автор множества книг, включая
такие бестселлеры, как C++ для "чайников", More C++ for
Dummies и Windows 95 Programming for Dummies. Стефан
работает в компании Valtech, специализирующейся в области обучения
информатике (Даллас, Техас).
Введение
Об этой книге
Добро пожаловать в четвертое издание книги C++ для
"чайников". В ней вы найдете всю необходимую для изучения C++
информацию, описанную доступным языком и не отягощенную излишними
подробностями.
О чем эта книга
Книга, которая у вас в руках, - это введение в язык программирования
C++.
Она начинается с азов: от читателя не требуется каких-либо знаний в
области программирования (и в этом основное отличие от предыдущего
издания, которое предполагает знание языка C).
В отличие от других книг по программированию на C++, в этой книге
вопрос "почему" считается не менее важным, чем вопрос "как". И потому
перед изложением конкретных особенностей языка C++ я старался объяснить
читателю, как они действуют в целом. Ведь каждая структурная
особенность языка - это отдельный штрих единой картины.
Если вы не понимаете, зачем нужны те или иные особенности языка,
постарайтесь понять, как они работают. Прочитав книгу, вы сможете
написать на C++ вразумительную программу и, что не менее важно, будете
понимать, почему и как она работает.
Эта книга не обучает программированию для Windows. Научиться этому
можно в два этапа. Сначала необходимо усвоить C++, а затем приобрести
книгу Программирование в Windows 98 для "чайников".
Что такое C++
C++ представляет собой объектно-ориентированный низкоуровневый язык
программирования, отвечающий стандартам ANSI и Международной
организации стандартов (International Standards Organization - ISO).
Объектная ориентированность C++ означает, что он поддерживает
стиль программирования, упрощающий кодирование крупномасштабных
программ и обеспечивающий их расширяемость. Будучи низкоуровневым
языком, C++ может генерировать весьма эффективные высокоскоростные
программы. Сертификация ANSI и ISO обеспечила переносимость C++:
написанные на нем программы совместимы с большинством современных сред
программирования.
Уже в самом названии содержится намек на то, что C++ является
следующим поколением языка программирования C - результатом добавления
новых веяний академической компьютерной мысли к старому доброму C. На
C++ можно делать все то же, что и на C, и даже таким же образом. Но это
нечто большее, чем просто C, наряженный в новые одежды. Дополнительные
возможности C++ весьма значительны и требуют не только некоторых
размышлений, но и привычки, однако результат того заслуживает.
Для опытного программиста на C язык C++ может показаться
одновременно и захватывающим и расстраивающим. Представьте себе немца,
читающего по-датски. Это очень похожие ситуации. Программист,
использующий C, сможет понять смысл программ на C++, но из-за
значительных отличий между языками его трактовка не всегда будет
адекватной. Эта книга поможет вам перейти от C к C++ настолько мягко,
насколько это возможно. Однако напомним, что для читателей C++ для
"чайников" опыт программирования на C вовсе не обязателен.
Соглашения, используемые в книге
Описываемые сообщения или любая другая информация, отображаемая на
экране, будет выглядеть так:
H1 mom!
Программный код будет представлен таким же образом:
// программа
void main()
{
...
}
Если вы решите набирать программу вручную, следите за тем, чтобы ее
текст полностью соответствовал напечатанному в книге, за исключением
количества пробелов, которое может быть произвольным.
Всяческие компьютерные сообщения, такие как команды и имена функций,
будут выглядеть вот так. После имен функций всегда следуют
открывающая и закрывающая скобки, например
myFavoriteFunction().
Иногда для выполнения некоторых действий в книге рекомендуется
использовать специальные команды клавиатуры. Например, когда в тексте
содержится инструкция: нажать <Ctrl+C>, вам следует, удерживая
нажатой клавишу <Ctrl>, нажать клавишу <C>. Вводить знак
"плюс" при этом не нужно.
Время от времени будут использоваться команды меню, например
FileOpen.
В этой строке для открытия меню File и выбора нужной
команды из него предлагается использовать клавиатуру или мышь.
Что можно не читать
C++ является слишком большим куском, чтобы проглотить его сразу. Вы
столкнетесь и с легкими, и с достаточно сложными моментами. Чтобы
уберечь вас от перенасыщения информацией, не актуальной для вас в
текущий момент, некоторые технические подробности будут отмечены
специальными пиктограммами (см. раздел "Использованные в этой книге
пиктограммы").
Некоторые сведения общего характера будут помещаться в выделенных
врезках. Почувствовав, что информация воспринимается с трудом, смело
пропускайте этот раздел во время первого чтения (но помните, что по
возможности его нужно будет прочитать, поскольку в конечном счете
незнание каких-то моментов неизбежно скажется на ваших программах).
Нелепые предположения
Чтобы освоить материал книги C++ для "чайников", совершенно
не обязательно иметь какой-то опыт в программировании. Конечно, если он
есть, это только плюс, но его отсутствие не должно вас тревожить.
В предыдущем издании этой книги предполагалось, что вы уже немного
знакомы с языком C. Идея была в том, что изучающий C++ должен был
основываться на уже имеющихся знаниях языка C. Однако такой
методологический подход оказался ошибочным. Прежде всего, многие
принципы C++ в корне отличаются от основополагающих принципов C,
несмотря на обманчивую схожесть их синтаксиса. К тому же среди
изучающих C++ большинство составляют все-таки не программисты на C, а
новички в программировании.
Четвертое издание C++ для "чайников" начинается с основных
понятий, используемых в программировании. Затем книга ведет читателя от
программ из простых синтаксических конструкций до концепций
объектно-ориентированного программирования. Читателю, осилившему ее
всю, не составит большого труда в нужный момент произвести впечатление
на друзей или блеснуть своей осведомленностью на вечеринках.
Как организована эта книга
Каждая новая структурная возможность языка будет охарактеризована
следующим образом:
что представляет собой эта возможность;
зачем она включена в язык;
как она работает.
Разделы книги щедро снабжены небольшими фрагментами программного
кода. Каждый из них иллюстрирует представленные особенности или
основные моменты некоторых моих разработок. Эти фрагменты не всегда
закончены и в основном не представляют собой ничего существенного.
Примечание. Необходимость соблюдать формат книги требовала
переноса очень длинных строк кода. В конце таких строк появляется
стрелка, которая напоминает о том, что следует продолжать ввод, не
торопясь нажимать клавишу <Enter>. Я очень старался свести эти
длинные строки кода к минимуму.
В конце каждой части...
В дополнение в конце частей 2, 3 и 4 приводятся
тексты серии программ BUDGET. Эти программы достаточно объемны, чтобы
позволить вам получить какое-то представление о реальных программах.
К тому же очень важно понимать, как разные структурные единицы языка
C++ сосуществуют в готовой программе. Поэтому, хотя забот у меня и так
было предостаточно, я занялся разработкой примеров обучающих программ.
Наверное, от недостатка фантазии мне пришлось потратить много времени
на придумывание программных сюжетов. Хотелось бы, чтобы представленные
в них особенности языка были очевидны читателю.
В конце концов в качестве примера было решено использовать программу
BUDGET. Она рождается как простая, процедурно ориентированная
программа. Постепенно обрастая структурными особенностями, описанными в
каждой новой части, к концу книги программа BUDGET предстанет перед
вами во всей красе своего объектно-ориентированного содержимого.
Возможно, работа с этой программой покажется вам страшной тратой
времени. Если это так, вы можете пропустить первые варианты программы
(хотя, по мнению нашего редактора, замысел довольно удачный). Тем не
менее я надеюсь, что, разобрав программу BUDGET, вы постигнете тайну
согласованной работы возможностей C++.
Часть 1. Первое знакомство с C++
Эта часть является отправной точкой нашего путешествия в мир C++. Вы
начнете его с нелегкого испытания - написания своей первой компьютерной
программы. Затем перейдете к изучению синтаксиса языка.
Часть 2. Становимся программистами
В этой части новоприобретенные знания основных команд C++ пополнятся
способностью объединять фрагменты программного кода в модули и повторно
использовать их в программах.
Здесь также представлена внушающая наиболее благоговейный страх
тема: указатели в C++. Если вам это ни о чем не говорит, не волнуйтесь
- скоро вы обо всем узнаете.
Часть 3. "Классическое" программирование
В этой части дело запутывается все больше и больше: начинается
обсуждение объектно-ориентированного программирования. По правде
говоря, объектно-ориентированный подход к построению программ и есть
главная причина возникновения и активного использования C++. Ведь
отказавшись от объектно-ориентированных особенностей C++, мы просто
возвратимся к его предшественнику - языку программирования C. В этом
разделе обсуждаются такие понятия, как классы, конструкторы,
деструкторы, и прочие не менее страшные термины. Не волнуйтесь, если
пока что вы не совсем понимаете, о чем идет речь.
Часть 4. Наследование
Возможность наследования - это как раз то главное свойство
объектно-ориентированного программирования, которое обеспечило ему
известность и распространенность. Обсуждение этой одной из наиболее
важных концепций, понимание которой служит ключом к эффективному
программированию на C++, и является темой четвертой части. Теперь
дороги назад нет: закончив освоение этого материала, вы сможете назвать
себя настоящим объектно-ориентированным программистом.
Часть 5. Полезные особенности
К моменту знакомства с этой частью вы уже будете знать все
необходимое для эффективного программирования на C++. Здесь же
затрагиваются некоторые оставшиеся дополнительные вопросы. Если вы
чувствуете, что голова все еще кружится от избытка с трудом
воспринимаемой информации, можете пока удержаться от чтения этой части.
Часть 6. Великолепная десятка
Разве книга для "чайников" может считаться законченной без такой
полезной напутствующей части? В ее единственной главе вы узнаете
наилучшие способы избежать ошибок в программах.
Что дальше
Обучиться языку программирования - задача отнюдь не тривиальная. Я
попытаюсь сделать это настолько мягко, насколько возможно, но вы должны
будете поднатужиться и освоить некоторые элементы серьезного
программирования. Так что разомните пальцы, приготовьте для книжки
почетное место рядом с клавиатурой и - приступим!