Математика | ||||
Неформальное введение в с++ и turbo vision-москва 1992 стр.377 | ||||
ПРЕДИСПОВИ
Наиболее распространенным языком программирования га следнего десятилетия безусловно является С. Этому способствовал такие его особенности, как лаконичность, мощность, гибкость, м( бильность. Вместе с тем, стремительное усложнение приложени для реализации которых применяются традиционные процедурна ориентированные языки программирования и, в частности С, ц ставляют говорить об определенном кризисе в их использований связанном прежде всего с недостаточной надежностью и выраз| тельной способностью. Подобных недостатков во многом лишены языки объектнс ориентированного программирования (ООП), в основе которых л жит идея моделирования объектов посредством иерархически csi занных классов. Отдельно взятый класс рассматривается ка совокупность множества данных и операций над ними, причем д< ступ к элементам данных класса возможен только посредством оп раций этого класса. Установление четкой взаимозависимости мея ду данными и операциями ведет к большей целостности данных значительно повышает надежность программ по сравнению с •град) ционными языками программирования. Кроме того, идея прогрйм мирования с помощью классов во многом использует тот же подхо; который позволяет людям формировать модели объектов реальног мира. Впервые идеи ООП были реализованы в середине 60-х годов в языке программирования Симула-67. Последний, однако, не нашел в то время широкого распространения как в силу своей относительно меньшей производительности по сравнению с традиционными языками типа Fortran, Algol, PL/1 так и, возможно, неадекватности предлагаемых средств решаемым в то время задачам. Еще одним ажным ограничением для распространения Симулы-0 / стали пудности, с которыми пришлось столкнуться большинству программистов при его изучении. Дело в том, что наряду с целым рядом безусловных достоинств, идеи ООП обладают и одним существенным недостатком — они далеко не просты для понимания и особенно для освоения с целью практического использования. Для программистов, привыкших к работе с процедурными языками типа С, Паскаля, Фортрана, указанного недостатка не лишен и язык C++. Поэтому для его изучения необходима соответствующая учебная литература. К сожалению, наиболее распространенная книга по C++, написанная его автором — Брайаном Страуструпом, мало подходит для целей обучения, т.к. представляет собой не учебник, а простое описание возможностей языка. При этом изложение не учитывает специфики ООП и аналогично общепринятому для процедурных языков программирования. Кроме того, представленный в книге Страуструпа материал соответствует версии 1.0, т.е. началу 80-х годов, и в нее не вошли такие фундаментальные понятия как множественное наследование, изменения, касающиеся встроенных и перегруженных функций, расширения потоковых операций и т.д. Предлагаемая вниманию читателей книга по мнению составителей лишена указанных недостатков и представляет собой идеальное введение в идеи ООП и язык C++. В главе 1 на элементарных примерах представляются основные возможности ООП. Глава 2 целиком посвящена концептуальному анализу средств ООП. Рассматриваются такие понятия как инкапсуляция, наследование, полиморфизм. При этом изложение отнюдь не формализовано, все положения иллюстрируются наглядными примерами. Важно отметить и такую особенность главы 2, как последовательное погружение: рассмотрение конструкций ООП начинается введением элементарного класса Point, описывающего светящуюся точку на экра-не, а заканчивается — перемещением сложного объекта произвольной формы по экрану. Глава 3 представляет собой полное техническое описание C++ версии 2.0 и ориентировано на программистов, освоивших C++, которым требуется справочное пособие в процессе работы. Поэтому основное внимание в главе 3 уделяется четкости и полноте описания конструкций языка, а имеющиеся примеры иллюстрируют особен- Оглавление АННОТАЦИЯ...................................................................3 ПРЕДИСЛОВИЕ.........................:.............,.......................4 I. ПРОГРАММИРУЕМ НА C++.........................................7 Лучше чем С: уходим из С.............................................7 Поддержка объектов.....................................................11 Резюме.................................................:........................25 II. ВВЕДЕНИЕ В C++.............................:..........................26 Инкапсуляция..............................................................29 Наследование...............................................................33 Полиморфизм...............................................................34 Перегрузка...................................................................35 Моделирование объектов реального мира посредством классов......................................................36 Наследование...............................................................51 Виртуальные функции..................................................69 Динамические объекты ................................................84 Дополнительные возможности C++..............................92 Ввод-вывод для типов данных, определенных пользователем.............................................................114 Что дальше?................................................................115 Заключение.................................................................116 III. СПРАВОЧНОЕ РУКОВОДСТВО ПО С И C++.........117 Принятые обозначения...............................................117 Разделители................................................................118 Комментарии..............................................................118 Идентификаторы.........................................................119 Ключевые слова..........................................................120 Константы...................................................................121 Объекты......................................................................131 Lvalues.........................................................................'32 Типы и классы памяти................................................133 Область действия........................................................133 Видимость.....................................................-•.............135 Продолжительность....................................................136 Таксономия типа........................................................138 Указатели...................................................................155 Массивы .....................................................................162 Функции.....................................................................163 Структуры..................................................................170 Объединения .......................................................•......'78 Перечисления.............................................•...............181 Операции....................................................................183 Операторы..................................................................214 C++..............................................................................222 Классы.........................................................................222 Конструкторы и деструкторы......................................238 Конструкторы.............................................................239 Деструкторы................................................................248 Перегруженные операции...........................................252 Операции-функции...............................................>.....253 Виртуальные функции................................................258 Абстрактные классы....................................................260 Область действия C++.................................................262 Что такое поток?.........................................................264 IV. TURBO VISION для C++...........................................291 Введение......................................................................291 Иерархия классов........................................................294 Отображаемые элементы............................................302 Программирование, управляемое событиями.............316 Разработка прикладных программ..............................332 Разработка надежных программ.................................377 АННОТАЦИЯ Книга написана как учебник специально для программистов, хорошо владеющих одним из процедурных языков программирования, таких как Pascal, С, Fortran и т.д. и желающих быстро и глубоко изучить язык C++, являющийся объектно-ориентированным расширением широко распространенного языка С. Учитывая нетрадиционный подход и трудность восприятия базовых концепций, лежащих в основе объектно-ориентированного программирования (ООП), изложение в главах 1 и 2 ведется методом последовательного погружения, предполагающего постепенное усложнение излагаемого материала посредством взаимосвязанных наглядных примеров. Глава 3 содержит полное справочное описание C++ версии 2.0 1991 года с акцентом на нюансы реализации и распространенные ошибки пользователей. В качестве иллюстрации возможностей ООП в главе 4 рассмотрена универсальная библиотека фирмы Borland для разработки интерфейса с пользователем — Turbo Vision. Для широкого круга программистов и студентов соответствующих специальностей. Цена: 150руб. |
||||