Изменения

Перейти к: навигация, поиск

Старые вопросы на экзамен по C++

1909 байт добавлено, 16:34, 26 июля 2012
Нет описания правки
## обработчик прерывания;
# Какого типа может быть исключение?
#: вроде можно кинуть что угодно
# Сколько параметров разрешается писать в заголовке секции-ловушки?
# Какими способами разрешается передавать исключение в блок обработки?
#: по значению и по указателю?
# Объясните, каким образом преодолеть ограничение на передачу единственного параметра в блок обработки.
# Почему нельзя выполнять преобразования типов исключений при передаче в секцию-ловушку?
# Что такое «иерархия исключений»?
# Существуют ли стандартные исключения? Назовите два-три типа стандартных исключений.
#: runtime_error, bad_alloc
# Поясните «взаимоотношение» исключений и деструкторов.
# Объясните, зачем может понадобиться подмена стандартных функций завершения.
#: Простое и множественное?
# Чем отличается модификатор доступа protected от модификаторов private и public?
#: ну очевидно
# Чем открытое наследование отличается от закрытого и защищенного?
#: тоже очевидно -
#:: какие все тут, блин, умные, всем всё очевидно.
#::: а вот и не очевидно, читайте книги, читайте страуструпа
# Какие функции не наследуются?
#: Чисто виртуальные
# Сформулируйте правила написания конструкторов в производном классе.
#: ???
# Каков порядок вызова конструкторов? А деструкторов?
#: Конструкторы - сначала базовый, потом производный. Деструкторы наоборот.
# Можно ли в производном классе объявлять новые поля? А методы?
#: да. да
# Если имя нового поля совпадает с именем унаследованного, то каким образом разрешить конфликт имен?
#: конфликта не будет
# Что происходит, если имя метода-наследника совпадает с именем базового метода?
#: Метод перегружается, вроде как
# Сформулируйте принцип подстановки.
#: Если это принцип подстановки Лисков, то: свойство, верное для базового класса, должно выполняться и для наследника
# Когда выполняется понижающее приведение типов?
#: Это приведение ссылки на базовый класс к производному.
# Объясните, что такое «срезка» или «расщепление».
#: Что Видимо, это???копирование полей производного объекта в базовый тип.
# Объясните, зачем нужны виртуальные функции.
#: Чтобы перегрузить их поведение при наследовании.
#: наследуются по определению :)
# Каковы особенности вызова виртуальных функций в конструкторах и деструкторах?
#: Виртуальные функции, вызванные из конструкторов и деструкторов не будут виртуальными.
# Можно ли сделать виртуальной перегруженную операцию, например, сложение?
#: Можно
#: чтобы можно было удалять объекты по указателю на базовый класс.
# Наследуется ли определение чистой виртуальной функции?
#: ДаНет. У чистой виртуальной функции нет смысла в определении.
# Приведите классификацию целей наследования.
#: Что это??Специализация базового класса. Реализация интерфейса базового класса(классов). Ограничение базового класса(адаптеры).
# Объясните разницу наследования интерфейса от наследования реализации.
#: ???Видимо, наследование интерфейса - public - наследование, реализации - protected?
== Компиляция ==
''С уважением, Ковалев Антон''
 
Это вопросы из книги:
Лаптев В.В. С++. Объектно-ориентированное программирование. - Спб.: Питер, 2008. - 464 с.
Первоначальный список вопросов был опубликован на сайте РСДН (27.04.06): http://rsdn.ru/?Forum/?fuid=18459
Анонимный участник

Навигация