ebook img

Visual C++ на примерах PDF

521 Pages·2007·7.575 MB·Russian
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Visual C++ на примерах

Галина Довбуш Анатолий Хомоненко Под редакцией профессора Хомоненко А. Д. Санкт-Петербург «БХВ-Петербург» 2007 УДК 681.3.068+800.92VisualC++ ББК 32.973.26-018.1 Д58 Довбуш, Г. Ф. Д58 Visual C++ на примерах / Г. Ф. Довбуш, А. Д. Хомоненко / Под ред. проф. А. Д. Хомоненко. — СПб.: БХВ-Петербург, 2007. — 528 с.: ил. ISBN 978-5-94157-918-1 Рассмотрены интерфейс системы программирования Visual C++, техника соз- дания и отладки проектов приложений в среде Visual Studio 2005. Описаны основы языка С++: типы данных и операции, приемы программирования разветвлений и циклов, техника работы со статическими и динамическими массивами, исполь- зование функций. Рассмотрены классы и объекты, механизм множественного и одиночного наследования, перегрузка операторов и шаблоны классов, понятия ввода-вывода данных и классификация, принципы работы с потоками и файлами, стандартные классы потоков, форматированный ввод-вывод базовых типов, до- полнительные возможности ввода-вывода. Освещена обработка исключений. По- казаны особенности создания приложений API Windows и MFC. Представлены внутренняя их организация, создание диалоговых окон и меню, механизм об- работки сообщений, работа с картой сообщений. Приводятся многочисленные примеры отлаженных программ. На компакт-диске содержатся тексты листингов примеров программ, приведенных в книге. Для начинающих программистов УДК 681.3.068+800.92VisualC++ ББК 32.973.26-018.1 Группа подготовки издания: Главный редактор Екатерина Кондукова Зам. главного редактора Игорь Шишигин Зав. редакцией Григорий Добин Редактор Елена Кашлакова Компьютерная верстка Натальи Караваевой Корректор Виктория Пиотровская Дизайн серии Игоря Цырульникова Оформление обложки Елены Беляевой Зав. производством Николай Тверских Лицензия ИД № 02429 от 24.07.00. Подписано в печать 28.09.07. Формат 70 1001/16. Печать офсетная. Усл. печ. л. 42,57. Тираж 3000 экз. Заказ № "БХВ-Петербург", 194354, Санкт-Петербург, ул. Есенина, 5Б. Отпечатано с готовых диапозитивов в ГУП "Типография "Наука" 199034, Санкт-Петербург, 9 линия, 12 ISBN 978-5-94157-918-1 © Довбуш Г. Ф., Хомоненко А . Д., 2007 © Оформление, издательство "БХВ-Петербург", 2007 Îãëàâëåíèå Предисловие ........................................................................................................... 1 ЧАСТЬ I. ПРОСТЕЙШАЯ ПРОГРАММА НА ЯЗЫКЕ C++ ....................... 5 Глава 1. Подготовка программы к исполнению ............................................ 7 Глава 2. Среда программирования ................................................................... 9 Глава 3. Создание консольного приложения ................................................ 13 Запуск MVC++....................................................................................................... 13 Создание проекта в новой рабочей области ....................................................... 14 Открытие существующей рабочей области ........................................................ 16 Создание нового проекта в рабочей области ...................................................... 17 Активизация существующего проекта ................................................................ 19 Добавление исходных файлов в проект .............................................................. 19 Активизация исходного файла для редактирования .......................................... 21 Сохранение и закрытие файла ............................................................................. 22 Трансляция файлов реализации ........................................................................... 22 Компоновка ............................................................................................................ 24 Отладка приложения ............................................................................................. 25 Глава 4. Функция main ( ) .................................................................................. 28 Глава 5. Вывод текста на экран ....................................................................... 30 ЧАСТЬ II. ОСНОВЫ ЯЗЫКА C++ .................................................................. 33 Глава 6. Простые типы данных ....................................................................... 35 Константы простых типов .................................................................................... 37 Переменные простых типов ................................................................................. 38 Локальные переменные ........................................................................................ 39 IV Îãëàâëåíèå Глобальные переменные ...................................................................................... 40 Область видимости переменных ......................................................................... 41 Глава 7. Ввод и вывод данных ......................................................................... 43 Глава 8. Операции над операндами простых типов .................................... 46 Арифметические операции .................................................................................. 46 Инкремент и декремент ........................................................................................ 47 Арифметические операции с присваиванием ..................................................... 48 Операции отношения ............................................................................................ 49 Логические операции ............................................................................................ 50 Глава 9. Операторы ............................................................................................ 52 Оператор-выражение ............................................................................................ 52 Составной оператор .............................................................................................. 52 Условный оператор if ............................................................................................ 53 Условный оператор if else .................................................................................... 54 Оператор цикла while ............................................................................................ 55 Оператор цикла for ................................................................................................ 56 Оператор цикла do while ....................................................................................... 58 Оператор передачи управления continue ............................................................ 59 Оператор передачи управления break ................................................................. 60 Оператор-переключатель switch .......................................................................... 61 Оператор возврата return ...................................................................................... 66 Тернарный оператор ?: ......................................................................................... 66 Оператор sizeof ...................................................................................................... 67 Глава 10. Массивы .............................................................................................. 68 Операции над массивами ...................................................................................... 68 Одномерные массивы ........................................................................................... 69 Многомерные массивы ......................................................................................... 75 Символьные массивы ............................................................................................ 85 Глава 11. Указатели ............................................................................................ 89 Операции с указателями ....................................................................................... 91 Указатели и массивы............................................................................................. 94 Операторы распределения памяти new и delete ............................................... 103 Указатели и динамические массивы ................................................................. 107 Указатели и спецификатор const ....................................................................... 109 Массивы указателей ............................................................................................ 111 Указатели на указатели ....................................................................................... 118 Îãëàâëåíèå V Глава 12. Структуры ........................................................................................ 121 Операции доступа к элементам структуры ....................................................... 121 Инициализация структур .................................................................................... 124 Массивы структур ............................................................................................... 125 Глава 13. Функции ............................................................................................ 128 Прототип функции .............................................................................................. 128 Определение функции ........................................................................................ 129 Возвращаемое функцией значение .................................................................... 129 Вызов функции .................................................................................................... 129 Область видимости функции ............................................................................. 130 Включение функций в проект приложения ...................................................... 130 Передача параметра по значению ...................................................................... 131 Передача параметра по ссылке посредством указателя .................................. 131 Передача параметра по ссылке посредством ссылки ...................................... 131 Параметры по умолчанию .................................................................................. 132 Передача массива в качестве параметра функции ........................................... 132 Примеры функций ............................................................................................... 133 Функции обработки символов ........................................................................... 142 Основные функции обработки строк ................................................................ 147 Служебные функции преобразования строк .................................................... 151 Перегрузка функций ........................................................................................... 160 Шаблонные функции .......................................................................................... 164 ЧАСТЬ III. КЛАССЫ ....................................................................................... 173 Глава 14. Объекты и классы ........................................................................... 175 Спецификаторы доступа к членам класса ........................................................ 177 Объявление или спецификация класса ............................................................. 178 Реализация класса ............................................................................................... 179 Рекомендации по выбору имен .......................................................................... 181 Объявление объекта класса ................................................................................ 181 Доступ к членам объектов .................................................................................. 182 Конструкторы класса .......................................................................................... 183 Деструктор ........................................................................................................... 185 Вызов конструктора и деструктора ................................................................... 186 Указатель this ....................................................................................................... 190 Статические данные класса ................................................................................ 191 Статические методы класса ............................................................................... 193 VI Îãëàâëåíèå Константные методы класса .............................................................................. 196 Класс string .......................................................................................................... 203 Объектно-ориентированная модель системы ................................................... 208 Глава 15. Композиция ...................................................................................... 211 Глава 16. Наследование ................................................................................... 224 Одиночное наследование ................................................................................... 226 Множественное наследование ........................................................................... 241 Чистые виртуальные функции и абстрактные классы..................................... 249 Глава 17. Перегрузка операторов .................................................................. 256 Операторные функции-члены класса ................................................................ 257 Операторные функции-друзья класса ............................................................... 270 Перегрузка операторов в производных классах ............................................... 285 Глава 18. Шаблон классов............................................................................... 293 Объявление шаблона классов ............................................................................ 294 Объявление объектов шаблона классов ............................................................ 297 Пример программы с простым шаблоном ........................................................ 298 Параметры по умолчанию в шаблоне классов ................................................. 303 Наследование и шаблоны классов ..................................................................... 306 Использование шаблонов ................................................................................... 312 ЧАСТЬ IV. ВВОД-ВЫВОД И ИСКЛЮЧЕНИЯ ......................................... 335 Глава 19. Основы ввода-вывода .................................................................... 337 Классификация способов ввода-вывода ........................................................... 337 Принципы работы с потоками и файлами ........................................................ 339 Стандартные классы потоков ............................................................................. 341 Форматированный ввод-вывод базовых типов ................................................ 345 Манипуляторы ..................................................................................................... 350 Анализ состояния потока ................................................................................... 353 Глава 20. Дополнительные возможности ввода-вывода ........................... 356 Форматированный ввод-вывод пользовательских типов ................................ 356 Файловый ввод-вывод ........................................................................................ 358 Неформатированный ввод-вывод ...................................................................... 361 Обмены со строкой в памяти ............................................................................. 365 Ввод-вывод с помощью библиотеки ANSI C ................................................... 366 Îãëàâëåíèå VII Глава 21. Обработка исключений.................................................................. 381 Основы обработки исключений ......................................................................... 381 Управление обработкой исключений ................................................................ 385 ЧАСТЬ V. ПРИЛОЖЕНИЯ API..................................................................... 391 Глава 22. Характеристика приложений API Windows .............................. 393 Варианты приложений Windows ....................................................................... 393 Графический интерфейс приложений Windows............................................... 394 Контекст устройства ........................................................................................... 395 Состав приложения. Функция WinMain ............................................................ 396 Оконная процедура обработки сообщений ...................................................... 401 Пример заготовки приложения .......................................................................... 404 Шаги создания приложения API ........................................................................ 408 Глава 23. Разработка интерфейса приложения ........................................... 410 Создание меню .................................................................................................... 410 Создание диалогового окна ................................................................................ 412 Элементы управления ......................................................................................... 416 Пример задания оконных процедур .................................................................. 420 ЧАСТЬ VI. ПРИЛОЖЕНИЯ MFC ................................................................. 425 Глава 24. Характеристика приложений MFC ............................................. 427 Библиотека MFC ................................................................................................. 427 Этапы создания приложения MFC .................................................................... 428 Типы и состав приложений MFC ....................................................................... 429 Глава 25. Обработка сообщений .................................................................... 434 Карты сообщений ................................................................................................ 434 Макросы карт сообщений .................................................................................. 436 Типы передаваемых сообщений ........................................................................ 437 Глава 26. Разработка интерфейса приложения ........................................... 439 Общая характеристика интерфейса приложения ............................................. 439 Создание диалогового окна ................................................................................ 439 Создание класса окна .......................................................................................... 440 Доступ к элементам управления окна ............................................................... 441 Вывод текста в диалоговое окно........................................................................ 447 VIII Îãëàâëåíèå Глава 27. Ввод-вывод с помощью класса CFile .......................................... 452 Создание объекта класса CFile .......................................................................... 452 Открытие и создание файлов ............................................................................. 452 Чтение и запись файлов ...................................................................................... 454 Список литературы .......................................................................................... 459 ПРИЛОЖЕНИЯ ................................................................................................ 461 Приложение 1. Контрольные вопросы и задания....................................... 463 Вопросы и задания к первой части .................................................................... 463 Вопросы и задания ко второй части .................................................................. 464 Вопросы и задания к третьей части ................................................................... 468 Вопросы и задания к четвертой части ............................................................... 471 Вопросы и задания к пятой части ...................................................................... 472 Вопросы и задания к шестой части ................................................................... 474 Приложение 2. Пример разработки консольного приложения MVC++ ............................................................. 477 Методические указания для разработки ........................................................... 477 Общая структура приложения ........................................................................... 480 Особенности реализации класса CAuto ............................................................. 481 Класс CCmdMenu ................................................................................................ 483 Классы для организации работы с индексом CIndex и CKey .......................... 484 Класс CBinaryFile ................................................................................................ 484 Класс управления CControl ................................................................................ 485 Пример консольного приложения MVC++ по файловому вводу-выводу .............................................................................. 486 Приложение 3. Описание компакт-диска ..................................................... 505 Предметный указатель .................................................................................... 507 Предисловие Система программирования Microsoft Visual C++ (MVC++) входит в состав Visual Studio и является популярным инструментом, широко используемым для разработки различного рода приложений, выполняемых под управлением Windows, и обеспечивающим высокую эффективность их кода. Это обуслов- лено (в частности) тем, что MVC++ разрабатывалась фирмой Microsoft — создателем семейства операционных систем Windows. По языку С++ и системе программирования MVC++ имеется большое мно- жество учебной литературы. Предлагаемая книга также ориентирована на использование в учебном процессе. При ее подготовке преследовалась цель последовательно и систематично изложить приемы программирования в сре- де MVC++, приводя сравнительно небольшой объем теоретических сведений и продуманный набор содержательных примеров. Все приводимые примеры отлажены в среде MVC++ из состава Visual Studio 2005. В системе программирования MVC++ можно создавать достаточно большое число различных видов приложений. Мы рассматриваем три основные раз- новидности приложений: консольные приложения, приложения API Windows и приложения MFC. Консольные приложения в книге используются для рассмотрения основных приемов программирования на языке С++ при создании приложений, в кото- рых обмен информацией ведется в основном с помощью клавиатуры и экрана. Приложения API Windows позволяют обеспечить развитый графический ин- терфейс, основанный на использовании соответствующих функций и диало- говых окон. Приложения MFC также позволяют обеспечить развитый графический ин- терфейс, основанный на использовании диалоговых окон. Вместо функций API здесь используются компоненты библиотеки MFC, при этом повышается удобство разработки приложений.

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.