Динамический полиморфизм

  1. Какие две роли выполняет наследование?
  2. Какие виды наследования возможны в С++?
  3. Чем отличается модификатор доступа protected от модификаторов private и public?
  4. Чем открытое наследование отличается от закрытого и защищенного?
  5. Каков порядок вызова конструкторов? А деструкторов?
  6. Можно ли в производном классе объявлять новые поля? А методы?
  7. Если имя нового поля совпадает с именем унаследованного, то каким образом разрешить конфликт имен?
  8. Что происходит, если имя метода-наследника совпадает с именем базового метода?
  9. Объясните, зачем нужны виртуальные функции.
  10. Что такое связывание?
  11. Чем «раннее» связывание отличается от «позднего»?
  12. Какие два вида полиморфизма реализованы в С++?
  13. Дайте определение полиморфного класса.
  14. Может ли виртуальная функция быть дружественной функцией класса?
  15. Наследуются ли виртуальные функции?
  16. Можно ли сделать виртуальной перегруженную операцию, например, сложение?
  17. Как объявляется «чистая» виртуальная функция?
  18. Дайте определение абстрактного класса.
  19. Наследуются ли чистые виртуальные функции?
  20. Приведите классификацию целей наследования.

Шаблоны

  1. Для чего предназначены шаблоны?
  2. Какие виды шаблонов в С++ вы знаете?
  3. Объясните термин «инстанцирование шаблона».
  4. Объясните назначение ключевого слова typename.
  5. Какие виды параметров разрешается задавать в шаблоне класса? А в шаблоне функции?
  6. Можно ли параметрам шаблона присваивать значения по умолчанию?

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: