Какие существуют механизмы для создания новых типов?
В чем смысл декомпозиции при составлении программ?
В чем различие между видами и методами (способами) абстракции?
Классы операций абстракции данных. Полнота класса операций.
Парадигма ООП. Специфика интерфейса ОО программ.
Преимущества ООП.
Понятие класса. Отношение "объект - класс".
Понятие полиморфизма. Проявления полиморфизма.
Механизм наследования.
Модификатора доступа и наследования. Как изменяются атрибуты элементов класса при наследовании?
Смысл инкапсуляции.
В чем разница между struct, class и union?
Что такое конструктор, деструктор и когда они вызываются?
Что такое встраиваемая функция? В чем ее преимущества и недостатки?
Какие два способа существуют для создания встраиваемой функции?
Как можно передать в функцию в качестве аргумента адрес объекта?
Что такое дружественная функция?
Когда следует переопределять операторы с помощью дружественных функций, а когда с помощью функций элементов класса?
Что происходит при присваивании одного объекта другому (без переопределенной операции =) и какие побочные эффекты могут возникнуть?
При передаче объекта в функцию в качестве аргумента создается копия этого объекта. Изменение копии в теле функции не отражается на оригинале. Возможно ли нарушение этого правила?
Какая функция может иметь доступ к защищенным членам одного класса? ... двух классов?
Что такое указатель this. Приведите пример использования этого указателя.
Для чего необходимы операторы new и delete. В чем их отличие от функций malloc() и free()?
Что такое ссылка? Какое имеется преимущество при использовании ссылки в качестве параметра функции, а в чем недостаток? В чем разница между ссылкой и указателем?
Назовите причины, по которым может понадобиться перегрузка конструкторов и деструкторов (в одном классе).
Какова основная форма конструктора копирования и когда он вызывается?
Что такое аргумент по умолчанию? Как аргумент по умолчанию связан с перегрузкой функций?
Почему может потребоваться перегрузка оператора присваивания?
Как можно ли изменить приоритет перегруженного оператора?
Что такое виртуальная функция?
Какие функции не могут быть виртуальными?
Что такое абстрактный класс и чем может быть вызвана необходимость построений абстрактного класса?
Чем виртуальные функции отличаются от перегружаемых?
Раннего и позднее связывание.
Совместимость типов. Какую роль в достижении совместимости объектов могут играть абстрактные классы?
Почему шаблоны называют параметризованными типами?
Когда следует в программе применять шаблоны, а когда нет?
Чем шаблоны лучше макроподстановок?
Для каких типов данных может применяться конкретный шаблон, а для каких нет?
В чем разница между классом и шаблоном класса?
Что может выступать в качестве параметра для шаблона класса?
В чем основное преимущество использования библиотеки потокового ввода-вывода?