ДВГТУ, ООП, Май 2004
Вопросы на экзамен по учебной
дисциплине
“Объектно-ориентированное программирование”
I. Общие вопросы программирования
Развитие языков программирования. Языки программирования C и C++.
Процедурное программирование. Основные идеи структурного
программирования.
Базовые конструкции структурного программирования, их реализация в Си.
Циклы. Оператор ветвления. Выбор.
Функция, модуль, заголовочный файл, проект.
Функция: передача параметров и возврат значений при вызове. Прототип
функции.
Передача параметров в функцию по значению и по ссылке.
Массивы. Строки. Динамическое выделение памяти под массив.
Конструирование сложных типов данных. Структуры в С.
Понятие указателя. Работа с указателями.
Управление памятью. Динамическое выделение памяти. Утечка памяти.
“Сборка мусора”.
Преобразование программы на С/С++ из исходного текста в исполняемый
модуль.
Объектный модуль. Сборки загрузочного модуля.
Заголовочные файлы. Препроцессор С/С++.
Препроцессор С, директивы #include, #define, #ifdef, #endif
Проектирование программы, схема иерархии модулей. Структура сложных
программ.
II. Основы объектно-ориентированного программирования
Основная идея ООП. Классы и объекты. Разделы класса. Интерфейс класса.
Переход к ООП как этап развития технологии разработки ПП.
Основные понятия ООП. Класс и объект.
Принципы ООП. Инкапсуляция. Наследование. Полиморфизм.
Конструирование классов. Контроль доступа к элементам класса, разделы
класса private и public. Классы и функции – члены класса.
Конструкторы и деструкторы.
Виды объектов в памяти и время их жизни, статические члены класса.
Указатель this, модификатор inline .
:
~
Oe
raV
A
????????????????^?ected; построение иерархии классов.
Режимы доступа: внешнее, защищенное и внутреннее наследование.
Множественное наследование.
Виртуальные методы.
Чистые виртуальные методы и абстрактные классы.
Переопределение операций для классов. Пример.
“Друзья” класса (friend), переопределение операций ввода/вывода.
III. Практика программирования.
Стиль программирования: правила составления имен, комментирование,
отступы.
Содержимое заголовочного файла в Вашем проекте.
Анализ заголовочных файлов стандартных библиотек, например,
Прототипы функций, назначение, использование в проекте.
Разбиение программы на модули, назначение заголовочных файлов.
Конструирование классов на базе структур данных и функций обработки.
Описание класса и объявление объекта, вызов методов объекта.
Пример наследования классов. Пример множественного наследования.
Управление проектом в интегрированной среде, разбиение проекта на модули
и состав модулей; контроль размещения исходных файлов, назначение
директорий.
Типы файлов, создаваемые системой программирования в проекте.
Обеспечение сохранности файлов проекта, резервное копирование.
Использование отладчика для локализации ошибки в программе.
IV. Ввод/вывод в С/С++.
Понятие потока и файла. Буферизованный и небуферизованный ввод/вывод.
Имена стандартных потоков в С и в С++, их назначение. Объявление
потоков, связывание их с файлами, закрытие потоков.
Ввод/вывод в С++. Переопределение операций ввода/вывода.
Нашли опечатку? Выделите и нажмите CTRL+Enter