Программа курса лекций
Вид материала | Программа курса |
- Программа предусматривает проведение лекций, проведение семинарских занятий, подготовку, 17.19kb.
- Программа курса лекций для студентов специальности «История», 109.25kb.
- Программа курса Конспект лекций > Тесты Задачи > Вопросы к экзамену Методические рекомендации, 1693.2kb.
- Программа курса лекций "Языки программирования Internet", 61.91kb.
- М. Н. Общая риторика программа курса лекций общая риторика программа курса, 236.54kb.
- Программа регионоведческого курса, 292.18kb.
- Программа регионоведческого курса, 292.24kb.
- Программа курса лекций, 27.96kb.
- М. В. Кричевцев Программа курса лекций Предлагаемый курс лекций, 215.31kb.
- Название курса, 106.28kb.
Объектно-ориентированное программирование
Программа курса лекций
(2 курс, 4 сем., 32 ч., экзамен)
Ассистент Лопаткин Алексей Александрович
- Построение пользовательских интерфейсов
- Оконные системы. Графический интерфейс семейства операционных систем Windows. Клиент-серверная архитектура интерфейса XWindows.
- Win32 API (Application Programming Interface). Общее устройство подсистемы GUI (Graphical User Interface) интерфейса Win32 API. Контексты устройств, окна, сообщения и очереди сообщений, отображение графических примитивов.
- Библиотека MFC (Microsoft Foundation Classes).
- Основные элементы управления. Кнопки, окна редактирования, полосы прокрутки, диалоги, окна сообщений и другие элементы.
- Архитектура Document-View. Однодокументные и многодокументные приложения.
- Построение интерфейсов для многопоточных приложений ОС Windows. Объекты и функции синхронизации, предоставляемые ОС Windows.
- Оконные системы. Графический интерфейс семейства операционных систем Windows. Клиент-серверная архитектура интерфейса XWindows.
- Множественное наследование и информация о типе во время исполнения
- Множественное наследование. Разрешения неоднозначностей. Использование using-объявлений.
- Повторяющиеся базовые классы. Виртуальные базовые классы. Способы реализации множественного наследования в С++. Накладные расходы при использовании виртуальных базовых классов.
- Управление доступом. Public, protected и private наследование. Наследование интерфейса и реализации.
- Информация о типе во время исполнения (run-time type information RTTI). Способ реализации. Использование RTTI. Накладные расходы.
- Множественное наследование. Разрешения неоднозначностей. Использование using-объявлений.
- Обобщенное программирование и Стандартная библиотека С++.
- Шаблоны функций и шаблоны классов. Определение шаблона. Инстанцирование шаблона. Явное инстанцирование.
- Шаблоны-члены класса.
- Специализация шаблонов. Частичная специализация шаблонов.
- Строки.
- Стандартные контейнеры. Список, вектор, очереди, стек, ассоциативные массивы, множества.
- Итераторы.
- Обобщенные алгоритмы.
- Потоки.
- Шаблоны функций и шаблоны классов. Определение шаблона. Инстанцирование шаблона. Явное инстанцирование.
- Другие объектно-ориентированные языки, компонентное программирование.
- Другие объектно-ориентированные языки.
- Язык Smalltalk и метапрограммирование.
- Язык Java. Интерфейсы, как альтернатива множественному наследованию. Автоматическая сборка мусора, ее плюсы и минусы.
- Компонентное программирование.
- Другие объектно-ориентированные языки.
Литература
- Буч Г. Объектно-ориентированный анализ и проектирование, 2-е изд. СПб.: Невский Диалект, 1998.
- Страуструп Б. Язык программирования С++, 3-е изд. СПб.: Невский Диалект, 1999.
- Страуструп Б. Дизайн и эволюция С++. М.: ДМК Пресс, 2000.
Объектно-ориентированное программирование
Программа лабораторных занятий
(2 курс, 4 сем., 48 ч., зачет)
Ассистент Лопаткин Алексей Александрович
Ассистент Савин Алексей Михайлович
- Виртуальные функции.
- Приведения типов.
- Перегрузка оператора new.
- Пространства имен.
- Исключения языка С++. Разматывание стека.
Задания
- Множественное наследование. Виртуальные базовые классы. Наследование интерфейса и реализации.
- Шаблоны функций и классов. Специализация шаблонов.
- Стандартная библиотека языка. Стоки, контейнеры, итераторы. Обобщенные алгоритмы.
- Создание диалогового приложения Win32 с использованием библиотеки MFC.
- Эффективная реализация механизма динамической типизации для одиночного наследования без использования RTTI.
- Динамическое создание объектов по имени класса. Чтение и запись объектов.
- Восстановление ссылок в объектах после чтения из файла.
- Реализация шаблона простого контейнера.
- Реализация обобщенного алгоритма сортировки, параметризуемого функцией сравнения.
Литература
- Буч Г. Объектно-ориентированный анализ и проектирование, 2-е изд. СПб.: Невский Диалект, 1998.
- Страуструп Б. Язык программирования С++, 3-е изд. СПб.: Невский Диалект, 1999.
- Страуструп Б. Дизайн и эволюция С++. М.: ДМК Пресс, 2000.