Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

Миграция в облако #SotelCloud. Виртуальный сервер в облаке. Выбрать конфигурацию на сайте!

Виртуальная АТС для вашего бизнеса. Приветственные бонусы для новых клиентов!

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

VPS/VDS серверы. 30 локаций на выбор

Серверы VPS/VDS с большим диском

Хорошие условия для реселлеров

4VPS.SU - VPS в 17-ти странах

2Gbit/s безлимит

Современное железо!

Книги: [Классика] [Базы данных] [Internet/WWW] [Сети] [Программирование] [UNIX] [Windows] [Безопасность] [Графика] [Software Engineering] [ERP-системы] [Hardware]

     

Эффективная работа: Visual C++ .NET

Паппас К., Мюррей У.

Издано: Издательский дом "Питер"
ISBN: 5-94723-179-4
Мягкий переплет, 816 стр.

Начало
Cодержание
Отрывок
[Заказать книгу в магазине "Мистраль"]

Полное содержание

Введение

ЧАСТЬ 1
Введение в C++

Глава 1. Компилятор Visual Studio .NET 7
Особенности Visual C++ 7.0
Вариант для профессионалов
Корпоративный вариант
Требования к аппаратному и программному обеспечению
Стандартная установка Visual С++ в системе Windows
Каталоги
Документация
Средства разработки
Инструмент Solution Explorer
Интегрированный отладчик
Встроенные редакторы ресурсов
Инструменты и утилиты
Средства автоматизации и макросы
ClassView
Настраиваемые панели инструментов и меню
Возможность соединения с Интернет
Решения и файлы проектов
Мастера Wizard
Возможности компилятора
Предварительно скомпилированные заголовочные файлы и типы
Библиотека MFC
Макроподстановка функций
Опции компилятора
General
Debug
C/C++
Link
Resources
Browse Info
Резюме
Глава 2. Краткое знакомство с MDE
Запуск Visual C++
Доступ к контекстной справке
Вызов команд меню
Перемещаемые панели инструментов
Команда Auto Hide
Команды Navigate Backward и Navigate Forward
Меню File
New
Open
Close
Add New Item, Existing Item, AddProject
Open, Close Solution
Save
Save As
Save All
Source Control
Page Setup
Print
Исторические списки
Exit
Меню Edit
Undo
Redo
Cut
Copy
Paste
Cycle Clipboard Ring
Delete
Select All
Find and Replace
Go To
Insert File As Text
Advanced
Bookmarks
Outlining
IntelliSense
Меню View
Open и Open With
Solution Explorer
Class View
Server Explorer
Resource View
Properties Window
Toolbox
Pending Checkins
Web-browser
Other Windows
Show Tasks
Toolbars
Full Screen
Navigate Backward и Navigate Forward
Property Pages
Меню Project
Add Class, Resource, New-Existing Item
Add Web Reference
Set As StartUp Project
Меню Build
Build Solution
Rebuild Solution
Clean
Build, Rebuild, Clean
Batch Build
Configuration Manager
Compile
Меню Debug
Windows
Start
Start Without Debugging
Processes
Exceptions
Step Into и Step Over
New Breakpoint
Clear All Breakpoints
Меню Tools
Debug Processes
Connect to Database
Customize Toolbox
Add-In Manager
Build Comment Web Pages
Macros
External Tools
Customize
Options
Меню Window
New Window
Split
Dockable, Hide, Floating, Auto Hide, Auto Hide All
Список
Windows
Меню Help
Dynamic Help
Contents, Index, Search
Previous, Next Topic и Sync Contents
Show Start Page
Check for Updates
Customer Feedback, Technical Support
Help on Help
About Microsoft Visual C++
Резюме
Глава 3. Написание, компиляция и отладка простейшей программы
Начало работы с Developer Studio
Создание первой программы
Редактирование исходного кода
Сохранение файла
Создание исполняемого файла
Построение программы
Отладка программы
Различие между сообщениями error и warning
Первое сообщение об ошибке
Окна output и sourсe
Использование команды Find and Replace
Элементы диалогового окна Replace
Быстрое обнаружение строк с ошибками
Полезные предупреждения и сообщения об ошибках
Продолжение отладки
Запуск программы
Работа со встроенным отладчиком
Дополнительные средства отладки
Работа с точками останова
Окно QuickWatch
Резюме
Глава 4. Дополнительные возможности Visual C++
Стандартная библиотека шаблонов STL
Сложности разработки приложений для различных платформ
Нереализованные возможности С++
Структуры данных
Понятие STL
История создания библиотеки STL
Необходимая информация о библиотеке STL
Структура библиотеки STL
Обзор элементов библиотеки STL
Новый язык программирования С# от компании Microsoft
Ваше первое консольное приложение на C#
Обычные и ссылочные типы
Предварительно определенные типы данных
Массивы
Операции boxing, unboxing и единая система типов
Операторы
Классы, структуры и перечисления
Пространство имен
Атрибуты, события, индексаторы, свойства и контроль версий
Резюме

ЧАСТЬ 2
Основы программирования

Глава 5. Введение в язык C++
Из истории языка C
Отличия языка C от ранних языков высокого уровня
Достоинства языка C
Недостатки языка С
Язык C - не для любителей!
Стандарт ANSI C
От С к С++ и объектно-ориентированному программированию
Из истории языка C++
Эффективность объектно-ориентированного подхода
Незаметные различия между языками C и C++
Ключевые различия между C и C++
Основные компоненты программ, созданных на языках C/C++
Пять основных свойств хорошей программы на С/С++
Простейшая программа на языке C
Простейшая программа на языке С++
Переход от main к _tmain и от char* к _TCHAR*
Последние обновления в С++, сделанные комитетом ANSI/ISO
Получение данных от пользователя в языке C
Получение данных от пользователя в языке C++
Файловый ввод-вывод
Резюме
Глава 6. Работа с данными
Идентификаторы
Ключевые слова
Ключевые слова, определенные компанией Microsoft
Стандартные типы данных
Символы
Три типа целых чисел
Модификаторы signed и unsigned
Числа с плавающей запятой
Перечисления
Новый тип данных языка C++ - bool
Квалификаторы доступа
Квалификатор const
Директива #define
Квалификатор volatile
Одновременное применение квалификаторов const и volatile
Квалификаторы pascal, cdecl, near, far и huge
Квалификатор pascal
Квалификатор cdecl
Квалификаторы near, far и huge
Преобразование типов данных
Явное преобразование типов
Новый оператор приведения типов
Оператор dynamic_cast
Оператор static_cast
Новый оператор reinterpret_cast
Оператор const_cast
Классы памяти
Объявление переменных на внешнем уровне
Объявление переменных на внутреннем уровне
Правила определения области видимости переменных
Объявление функций
Операторы
Побитовые операторы
Операторы сдвига
Инкрементирование и декрементирование
Арифметические операторы
Оператор присваивания
Комбинированные операторы присваивания
Операторы сравнения и логические операторы
Условный оператор
Оператор "запятая"
Приоритеты выполнения операторов
Стандартные библиотеки С и С++
Резюме
Глава 7. Инструкции
Инструкции выбора
Инструкция условного перехода if
Инструкция if/else
Условный оператор ?:
Конструкция switch/case
Совместное использование конструкций if/else/if и switch/case
Циклы
Цикл for
Цикл while
Цикл do/while
Инструкция break
Инструкция continue
Совместное использование инструкций break и continue
Функция exit()
Функция atexit( )
Резюме
Глава 8. Функции
Прототипы функций
Синтаксис объявления функции
Способы передачи аргументов
Список аргументов по умолчанию
Классы памяти
Область видимости переменных
Рекурсия
Аргументы функций
Формальные и фактические аргументы
Аргументы типа void
Аргументы типа char
Аргументы типа int
Аргументы типа float
Аргументы типа double
Массивы как аргументы
Типы значений, возвращаемых функциями
Тип результата: void
Тип результата: char
Тип результата: bool
Тип результата: int
Тип результата: long
Тип результата: float
Тип результата: double
Аргументы командной строки
Текстовые аргументы
Целочисленные аргументы
Аргументы с плавающей запятой
Дополнительные возможности функций
Макроподстановка функций
Перегрузка функций
Функции с переменным числом аргументов
Область видимости переменных
Возможен ли доступ к переменной вне ее области видимости?
Использование глобальных переменных в функциях
Преимущество локальных переменных перед глобальными
Оператор расширения области видимости
Предотвращение конфликтов локальных и глобальных имен
Резюме
Глава 9. Массивы
Что такое массивы
Свойства массивов
Объявления массивов
Инициализация массивов
Инициализация по умолчанию
Явная инициализация
Инициализация безразмерных массивов
Доступ к элементам массива
Вычисление размера массива в байтах
Выход за пределы массива
Массивы символов
Многомерные массивы
Массивы как аргументы функций
Передача массивов функциям в языке С++
Функции работы со строками и массивы символов
Функции gets( ), puts( ), fgets( ), fputs( ) и sprintf( )
Функции strcpy( ), strcat( ), strncmp( ) и strlen( )
Резюме
Глава 10. Указатели
Указатели как особый тип переменных
Объявление указателей
Использование указателей
Инициализация указателей
Ограничения на использование оператора &
Указатели на массивы
Указатели на указатели
Указатели на строки
Арифметические операции над указателями
Применение указателей при работе с массивами
Распространенная ошибка при использовании операторов ++ и --
Применение квалификатора const совместно с указателями
Другие операции над указателями
Физическая реализация указателей
Использование с указателями функции sizeof() в 16-битовой среде DOS
Указатели на функции
Динамическая память
Указатели типа void
Подробнее об указателях и массивах
Строки (массивы типа char)
Массивы указателей
Дополнительные сведения об указателях на указатели
Массивы строковых указателей
Ссылки в языке С++
Функции, возвращающие адреса
Почему необходимо использовать ссылочные типы
Резюме
Глава 11. Основы ввода-вывода в языке С++
Подсистема ввода-вывода в С++
Потоки cin, cout и cerr
Операторы ввода и вывода данных
Библиотеки stream.h и iostream
Флаги и функции форматирования
Вывод символов в С++
Изменение основания системы счисления
Форматирование строк
Форматирование числовых значений
Файловый ввод-вывод
Определение состояния потока
Резюме
Глава 12. Структуры, объединения и дополнительные типы данных
Структуры
Синтаксис и правила создания структур
Дополнительные правила создания структур в С++
Доступ к членам структур
Создание простейшей структуры
Передача структур функциям
Создание массива структур
Применение указателей на структуры
Передача массива структур функции
Применение структур в С++
Дополнительные возможности при работе со структурами
Объединения
Синтаксис и правила создания объединений
Создание простейшего объединения
Другие типы данных
Применение ключевого слова typedef
Применение ключевого слова enum
Резюме
Глава 13. Дополнительные средства программирования
Совместимость типов данных
Понятия совместимости типов языка С, определенные ANSI
Идентичный тип данных
Типы перечисления
Типы массивов
Типы функций
Типы структур и объединений
Типы указателей
Совместимость сложных типов данных из разных файлов
Макросы
Что такое макрос
Макросы и их параметры
Проблемы, возникающие с расширением макросов
Как создавать и применять пользовательские макросы
Макросы, поставляемые с компилятором
Директивы препроцессора
Директивы #ifdef и #endif
Директива #undef
Директива #ifndef
Директива #if
Директива #else
Директива #elif
Директива #line
Директива #error
Директива #pragma
Условная компиляция
Операторы препроцессора
Оператор преобразования в формат строки
Оператор конкатенации
Оператор преобразования в символы
Правильное применение заголовочных файлов
Создание заголовочных файлов
Предварительная компиляция заголовочных файлов
Создание предварительно скомпилированных заголовочных файлов
Применение предварительно скомпилированных заголовочных файлов
Заголовочные файлы сlimits и cfloat
Устранение ошибок при помощи функции perror()
Связные списки и динамическое распределение памяти
Замечания по использованию связных списков
Простой связный список
Резюме
Глава 14. Программирование: основные библиотеки С/С++
Заголовочные файлы С/С++
Стандартные библиотечные функции
Преобразование данных
Поиск и сортировка данных
Другие операции
Символьные функции
Проверка алфавитно-цифровых, алфавитных значений, а также значений ASCII
Проверка наличия знаков пунктуации, управляющих символов и пробелов
Преобразование символов в ASCII-код
Строковые функции
Использование функций памяти
Использование строковых функций
Математические функции
Построение таблицы значений тригонометрических функций
Функции обработки времени
Синтаксис структур даты и времени
Резюме

ЧАСТЬ 3
Объектно-ориентированное программирование

Глава 15. Основы ООП
Все новое - это хорошо забытое старое
Структурное программирование
Объектно-ориентированное программирование
С++ и ООП
Основная терминология
Инкапсуляция
Иерархия классов
Виртуальные функции
Первое знакомство с классом
Структура в роли примитивного класса
Синтаксис описания классов в С++
Простейший класс
Резюме
Глава 16. Использование классов C++
Особенности использования классов
Работа с простым классом
Вложенные классы
Работа с конструкторами и деструкторами
Перегрузка функций-членов класса
Дружественные функции
Указатель this
Перегрузка операторов
Перегрузка операторов и вызов функций
Синтаксис перегрузки
Производные классы
Синтаксис наследования
Использование наследования
Резюме
Глава 17. Классы ввода-вывода в языке C++
Использование перечислений в C++
Переменные ссылочного типа
Аргументы по умолчанию
Функция memset()
Форматный вывод данных
Опции ввода-вывода
Иерархия классов ввода-вывода
Файловый ввод
Файловый вывод
Буферы потоков
Строковые потоки
Двоичные файлы
Комбинирование кода языков С и С++
Конструирование уникальных манипуляторов
Манипуляторы без параметров
Манипуляторы с одним параметром
Манипуляторы с несколькими параметрами
Резюме
Глава 18. Работа в объектно-ориентированной среде
Применение стека в C++
Применение связных списков в С++
Создание родительского класса
Производный класс
Использование дружественного класса
Программа, использующая связный список
Результат работы программы
Резюме
Глава 19. Шаблоны и стандартная библиотека шаблонов
История создания библиотеки STL
Преимущества использования библиотеки STL
Стандартизация языков
Структура библиотеки STL
Контейнеры
Адаптеры контейнеров
Алгоритмы
Итераторы
Дополнительные элементы библиотеки STL
Шаблоны вне структур
Ключевое слово template
Шаблоны функций
Шаблоны классов
Библиотека STL: проблемы с шаблонами Шаблон <vector>
Шаблонные векторы
Реализация векторов
Шаблоны функций вектора
Доступ к элементам шаблона <vector>
Вставка и удаление элементов шаблона <vector>
Два различных размера векторов
Другие операции шаблона <vector>
Синтаксис шаблона <vector>
Операции typedef шаблона <vector>
Перегруженные операторы шаблона <vector>
Методы шаблона <vector>
Примеры программ
Резюме

ЧАСТЬ 4
Мастера для создания приложений Windows

Глава 20. Концепции и средства программирования Windows-приложений
Основные понятия
Среда Windows
Преимущества Windows
Формат исполняемых файлов
Базовые концепции программирования в среде Windows и терминология
Что представляет собой окно Windows
Графические элементы окна
Процедурно-ориентированный класс окна
Объектно-ориентированное программирование и окна
Принципы обработки сообщений
Вызов системных функций
Заголовочный файл windows.h
Этапы создания приложения
Инструменты разработки приложений Windows средствами Visual С++
Файлы проектов
Редакторы ресурсов
Резюме
Глава 21. Мастера и процедурные приложения для Windows
Структура приложения
Компоненты Windows-приложений
Функция WinMain()
Структура WNDCLASSEX
Определение оконного класса
Создание окна
Отображение и обновление окна
Цикл обработки сообщений
Оконная функция
Обработка сообщений WM_PAINT
Обработка сообщения WM_DESTROY
Функция DefWindowProc()
Создание процедурно-ориентированного проекта
Наполнение Windows-программы содержанием
Рисование эллипса
Рисование сегмента
Рисование сектора
Рисование прямоугольника
Другой полезный проект
Приложение для построения круговых диаграмм
Файл pie.cpp исходного текста
Резюме
Глава 22. Библиотека MFC
Зачем нужны библиотеки классов
Принципы, лежащие в основе MFC
Ключевые особенности MFC
Все начинается с CObject
Иерархия классов MFC
Текстовый редактор
Построение приложения
Резюме
Глава 23. Мастера и MFC-приложения
Рисование графических примитивов в рабочей области окна
Использование мастера Application Wizard
Модификация кода шаблона
Проверка модифицированного кода
Дополнительные детали проекта
Отображение ряда Фурье
Создание шаблонного кода проекта Fourier
Добавление ресурса диалогового окна
Изменение ресурса меню
Область заголовка и окно About проекта Fourier
Код проекта Fourier
Код для масштабирования графики
Связь диалогового окна с проектом
Тестирование проекта Fourier
Построение гистограмм
Строка заголовка
Меню
Значок окна About
Окно About
Диалоговое окно ввода данных
Ядро кода BarChart
Код для масштабирования графики
Связь диалогового окна с проектом
Тестирование проекта BarChart
Резюме

ЧАСТЬ 5
Современные концепции программирования

Глава 24. Создание Windows-приложений на языке С#
Создание приложения CircleArea на C#
Формы и модули
Solution Explorer
Элементы управления и их свойства
Код проекта, принимаемый по умолчанию
Реакция на события
Изменение значений свойств из кода
Создание на C# Windows-приложения Tester
Резюме
Глава 25. Библиотека STL и Windows
Комплексные числа
Синтаксис шаблона <complex>
Класс complex <float>
Класс complex <double>
Класс complex <long double>
Пример использования шаблона класса <complex>
Windows-приложение, использующее STL и MFC
Код для изменения размеров графиков
Тестирование проекта Complex2
Резюме
Глава 26. Основы механизма OLE
Свойства и спецификации OLE
Объекты
Файлы
Данные
Внедрение
Внедренный объект
Связывание
Разработка приложения-контейнера
Использование мастера AppWizard
Обзор файлов проекта
Тестирование приложения-контейнера
Резюме
Глава 27. Элементы управления ActiveX
Основные концепции
Правила разработки элементов управления
Класс COIeControl
Контейнеры
Создание простого элемента управления ActiveX
Создание проекта TDCtrl
Код, сгенерированный мастером
Модификация шаблона
Изменение формы, размера и цвета элемента управления TDCtrl
События мыши
Заголовочный файл TDCtrlCtrl.h
Тестирование окончательной версии элемента управления
Резюме
Глава 28. Динамически подключаемые библиотеки
DLL, основанные на MFC
Заголовочный файл Framer.h
Файл исходного кода Framer.cpp
Компоновка файла Framer.dll
Приложение, вызывающее DLL
Заголовочный файл DLLDemoView.h
Файл исходного кода DemoView.cpp
Резюме
Глава 29. Создание Web-форм
Элементы управления Web
Элементы управления RadioButton и RadioButtonList
Элемент управления Calendar
Элементы управления Validation
Элементы управления ListBox и DropDownList
Резюме

Предметный указатель

Начало
Cодержание
Отрывок
[Заказать книгу в магазине "Мистраль"]

 

Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

✅ Дешевый VPS-хостинг на AMD EPYC: 1vCore, 3GB DDR4, 15GB NVMe всего за €3,50!

🔥 Anti-DDoS защита 12 Тбит/с!

VPS в России, Европе и США

Бесплатная поддержка и администрирование

Оплата российскими и международными картами

🔥 VPS до 5.7 ГГц под любые задачи с AntiDDoS в 7 локациях

💸 Гифткод CITFORUM (250р на баланс) и попробуйте уже сейчас!

🛒 Скидка 15% на первый платеж (в течение 24ч)

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...