Вопросы по ООП
.docxВопросы по ООП
-
История развития языков программирования
-
Основные свойства ООП языков программирования
-
История развития С++
-
С++ как улучшение С. Комментарии. Константы. Встраиваемые функции. Объявление структур, объединений, перечислений. Объявление переменных
-
Ссылки
-
Использование спецификатора void
-
Преобразование стандартных типов данных
-
Новые операции new, delete. Операция расширения области видимости
-
Объявление функций. Аргументы по умолчанию
-
Перегрузка функций
-
Использование функций С в программе на С++
-
С++ как С с классами. Определение класса. Конструкторы и деструкторы
-
Перегрузка операций
-
Дружественные функции
-
Сходства и различия классов, структур и объединений. Совместимость С с С++
-
Классы и объекты. Определение класса и области видимости. Опережающее объявление класса
-
Использование спецификатора класса памяти static. Статические компоненты класса
-
Константные объекты и константные методы
-
Неявный указатель this
-
Указатели на член класса
-
Локальные и вложенные классы
-
Специальный вид методов класса – конструкторы и деструкторы. Некоторые особенности конструкторов и деструкторов
-
Классы, содержащие объекты других классов
-
Создание объектов с различным временем жизни
-
Массивы объектов класса
-
Особенности копирования объектов
-
Заготовка класса без наследников
-
Пример вектора с неповерхностным копированием
-
Излишнее копирование. Конструктор копии. Операция присваивания
-
Преобразование типов. Стандартные преобразования. Явное преобразование типов
-
Преобразования абстрактных типов данных (преобразование типов данных, созданных программистом)
-
Наследование классов
-
Доступ к наследуемым членам класса
-
Стандартные преобразования типов при наследовании
-
Инициализация объекта порожденного класса. Конструктор копии. Операция присваивания
-
Множественное наследование. Двусмысленности при множественном наследовании. Виртуальные базовые классы. Инициализация виртуального базового класса. Порядок вызовов конструкторов и деструкторов в случае нескольких базовых классов
-
Виртуальные функции. Объявление виртуальных функций. Чисто виртуальные функции
-
Таблица виртуальных функций. Случай, когда вызов виртуальной функции не будет виртуальным. Виртуальные деструкторы
-
Ввод-вывод файлов. Потоки ввода-вывода. Библиотека ввода-вывода (iostream). Группы классов библиотеки ввода-вывода
-
Краткая характеристика иерархии классов производных от conbuf
-
Иерархия классов производных от ios
-
Состояния потока. Ошибки потоков
-
Форматирование в С++. Форматирующие функции-члены. Форматирующие функции-элементы, изменяющие флаги форматирования. Управление потоком при помощи манипуляторов
-
Шаблоны функций С++
-
Шаблоны классов С++. Определение шаблона класса. Явная реализация некоторых методов для специфических типов. Полное переопределение шаблона класса для работы с некоторым особым типом. Шаблоны и дружественные функции. Шаблоны и наследование. Шаблоны и конфигурация компилятора. Достоинства и недостатки шаблонов
-
Обработка исключительных ситуаций. Управление исключениями языка С++. Try-блок, catch-блок, оператор throw. Разматывание стека вызовов. Спецификация исключений
-
Структурная обработка исключений. Обработка завершения. Обработка структурных исключений: заявление исключения, фильтрующее выражение
-
Стратегии и взаимодействие объектов в программе. Программа как система взаимодействующих объектов. Система объектов, управляемых сообщениями.
-
Элементы объектно-ориентированного анализа и объектно-ориентированного проектирования. Диаграммы классов. Отношения классов: ассоциация, наследование, агрегация, использование.
-
Элементы объектно-ориентированного анализа и объектно-ориентированного проектирования. Диаграммы состояний и переходов: назначение, состояния, переходы. Действия, ассоциированные с состояниями и условные переходы. Вложенные состояния.
-
Элементы объектно-ориентированного анализа и объектно-ориентированного проектирования. Диаграммы объектов: назначение, отношение между объектами