Программирование >>  Расширенная версия языка c++ 

[ 1 ] 2 3 4 ... 227


расширенная версия языка

C++ это расширенная версия языка С. C++ содержит в себе все, что имеется в С:. но кроме этого он поддерживает объектно-ориентированное программирование (Object Oriented Programming, OOP). В C++ имеется множество дополнительных возможностей, которые независимо от объектно-ориентированного программирования делают его просто лучше, чем С , За небольшими исключениями C++ - это более совершенный С. В то время как все, что вы знаете о язтке С, вполне применимо и к C++, понимание его новых свойств все же потребует от вас значительных затрат времени и сил. Однако преимущества программирования на C++ с лихвой окупят ваши усилия. . . .

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

Эта глава также освещает некоторые отличия между стилями программирования на языках С и C++. В C++ имеется несколько возможностей для

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

Поскольку C++ был задуман для поддержки объектно-ориентированного программирования, эта глава начинается с описания OOP. Как вы увидите,

многие свойства C++ тем или иным образом касаются OOP. Однако важно

понимать, что C++ может использоваться для написания не только объектно-ориентированных программ. То, как вы используете С++, полностью зависит от вас.

К моменту написания этой книги процесс стандартизации языка программирования C++ б1л завершен. По этой причине здесь описываются неко-



важные отличия между обычными для последних нескольких лет версиями C++ и новым стандартом язхка (Standard C++). Поскольку, настоящая книга задумывалась как пособие для обучения языку Standard C++,

этот материал особенно важен для тех, кто работает с устаревшим компилятором.

Помимо знакомства с некоторыми важными свойствами C++, в этой главе

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

Перед тем как начать собственно изложение материала, имеет смысл сделать несколько важных замечаний о природе и форме C++. Как правило, программы на C++ внешне напоминают программы на С. Так же, как и на С, программы на C++ начинают выполняться с функции iuQ. Для получения аргументов командной строки C++ использует те же параметры argc, argv, что и С. Хотя C++ определяет их в собственной объектно-

ориентированной библиотеке, он также поддерживает все функции стандартной библиотеки С. В C++ используются те же управляющие структуры и те же встроенные типы что и в С.

Запомните, в этой книг магается, что вы уже знаете язык программирования С. Проще говоря, вы уже должны уметь программировать на С перед тем, как начнете изучать программирование на C++. Если вы еще не знаете С, то желательно потратить некоторое время на его изучение.

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

1.1. Что такое объектно-ориентированное программирование?

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



Инкапсуляция

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

нием программ. Первые программы создавались посредством ключевых переключателей на передней панели компьютера. Очевидно, что такой способ подходит только дж очень небольших программ. Затем был изобретен язык ассембчрпя который позвожл писать более длинные программы. Следующий шаг был сделан в 1950 году, когда бхл создан первый язык высокого уровня Фортран.

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

больших программ, становился нечитабельным (и неуправляемым). Избавление от таких неструктурированных программ пришло после изобретения в 1960 году языков структурного программирования (structured programming language). К ним относятся языки Алгол, Паскаль и С. Структурное программирование подразумевает точно обозначенные управляющие структуры, программные блоки, отсутствие (или, по крайней мере, минимальное использование) инструкций GOTO, автономные подпрограммы, в которых поддерживается рекурсия и локальные переменные. Сутью структурного программирования является возможность разбиения программы на составляющие ее элементы. Используя структурное программирование, средний программист может создавать и поддерживать программы свыше 50 000

строк длиной.

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

Все языки OOP, включая C++, основаны на трех основополагающих концепциях, называемых инкапсуляцией, полиморфизмом и наследованием. Рассмотрим эти концепции.



[ 1 ] 2 3 4 ... 227

© 2006 - 2018 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки.
Яндекс.Метрика