Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OOP.doc
Скачиваний:
6
Добавлен:
25.04.2019
Размер:
1.34 Mб
Скачать

0

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

Курский государственный технический университет

И.В. Зотов, Т.А. Ширабакина

РАЗРАБОТКА ПРОГРАММ НА С++ ТЕОРИЯ, ПРИМЕРЫ РЕШЕНИЯ ЗАДАЧ, ЭФФЕКТИВНОСТЬ

Рекомендовано УМО по образованию в области автоматики, электроники, микроэлектроники и радиотехники в качестве учебного пособия для студентов вузов по направлению подготовки 551100 «Проектирование и технология электронных средств» и по специальности 220500 «Конструирование и технология ЭВС»

6Vpj7-h3cxh-hbtpt-x4t74-3yvy7

Курск 2003

УДК 681.3

ББК В 185.2

З – 88

Рецензенты:

Доктор технических наук, профессор Курского государственного медицинского университета В.Н.Лопин

Кандидат технических наук, доцент Курского государственного университета А.П.Жмакин

Зотов И.В., Ширабакина Т.А. Разработка программ на С++. Теория, примеры решения задач, эффективность: Учеб. пособие / Курск. гос. техн. ун-т. Курск, 2003. 162 с.

Учебное пособие соответствует Государственным образовательным стандартам специальностей 220100, 220400 и 220500.

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

Изложение материала сопровождается множеством примеров из различных предметных областей. Все примеры протестированы в интегрированной среде Borland C++ Builder 5.0. В конце каждого раздела дается список вопросов для самопроверки и несколько задач для самостоятельного решения.

Предназначено для студентов, обучающихся по специальностям 220100, 220400 и 220500.

Ил. 9. Библиогр.: 8 назв.

УДК 681.3

ББК В 185.2

З – 88

 Зотов И.В., Ширабакина Т.А., 2003

 Курский государственный технический университет, 2003

Оглавление

Введение

  1. Объектная модель С++. Классы и объекты.

    1. Понятие класса и объекта. Инкапсуляция.

    2. Определение классов. Компоненты. Доступность.

    3. Создание и уничтожение объектов. Конструкторы и деструкторы.

    4. Обращение к компонентам объектов.

    5. Статические и нестатические компоненты классов.

    6. Функции, сохраняющие и не сохраняющие константность объекта.

    7. Указатель this.

    8. Вопросы для самопроверки.

    9. Задачи.

  2. Механизм наследования. Полиморфизм.

    1. Формы наследования. Базовые и производные классы.

    2. Виртуальные и невиртуальные функции. Полиморфизм.

    3. Абстрактные классы.

    4. Множественное наследование и виртуальные классы.

    5. Преобразование динамических типов. Динамическая идентификация типов.

    6. Вопросы для самопроверки.

    7. Задачи.

  3. Дружественные функции и классы.

    1. Дружественные функции.

    2. Дружественные классы.

    3. Вопросы для самопроверки.

    4. Задачи.

  4. Механизм вложения.

    1. Вложенные классы.

    2. Локальные классы.

    3. Вопросы для самопроверки.

    4. Задачи.

  5. Объектная модель и шаблоны.

    1. Определение, описание и инстанцирование шаблонов.

    2. Параметры и аргументы шаблонов.

    3. Шаблоны компонентных функций.

    4. Специализация шаблонов.

    5. Вопросы для самопроверки.

    6. Задачи.

  6. Перегрузка операций.

    1. Назначение перегрузки операций и ее реализация в С++.

    2. Перегрузка унарных операций.

    3. Перегрузка бинарных операций.

    4. Перегрузка операций управления памятью.

    5. Вопросы для самопроверки.

    6. Задачи.

  7. Механизм исключений.

    1. Модель исключений в С++. Синтаксис и семантика обработки исключений.

    2. Спецификации исключений.

    3. Специальные средства поддержки механизма исключений.

    4. Вопросы для самопроверки.

    5. Задачи.

  8. Подсчет ссылок.

    1. Назначение механизма подсчета ссылок.

    2. Контекстно-независимая модель счетчика ссылок.

    3. Внедрение подсчета ссылок в новый класс.

    4. Внедрение подсчета ссылок в существующий класс.

    5. Вопросы для самопроверки.

    6. Задачи.

  9. Стандартная библиотека шаблонов (STL).

    1. Назначение и архитектура STL.

    2. Последовательные контейнеры.

    3. Итераторы.

    4. Алгоритмы.

    5. Функторы.

    6. Ассоциативные контейнеры.

    7. Адаптеры.

    8. Аллокаторы.

    9. Вопросы для самопроверки.

    10. Задачи.

Список литературы.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]