29 / 23 / 2
Регистрация: 14.04.2009
Сообщений: 448
|
|
1 | |
Наследуются ли конструкторы и деструкторы?02.06.2009, 14:54. Показов 24469. Ответов 124
Метки нет (Все метки)
0
|
02.06.2009, 14:54 | |
Ответы с готовыми решениями:
124
Наследуются ли конструкторы? Почему не наследуются конструкторы? Конструкторы и деструкторы Конструкторы и деструкторы |
692 / 383 / 51
Регистрация: 22.01.2009
Сообщений: 1,135
|
|
02.06.2009, 14:58 | 2 |
Да
0
|
159 / 156 / 47
Регистрация: 29.04.2009
Сообщений: 636
|
||||||
02.06.2009, 15:36 | 3 | |||||
Да с тем же атрибутом и кол-вом параметров что и в базовом констукторе
+ еще можно добавить свои параметры в наследуемом.Например:
0
|
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
|
|
02.06.2009, 18:07 | 4 |
Неверно. Конструкторы и деструкторы не наследуются.
0
|
2816 / 1407 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
|
||||||
02.06.2009, 20:06 | 5 | |||||
они не наследуются, но могут выполнятся..протестируй этот код:
0
|
3 / 3 / 0
Регистрация: 09.01.2012
Сообщений: 28
|
|||||||||||
06.12.2013, 20:43 | 6 | ||||||||||
Не совсем так. Конструкторы не наследуются, так как не являются членами интерфейса класса, в некотором смысле (sic!) исключение составляет конструктор по умолчанию, который и был упомянут выше. В этом случае перед вызовом конструктора по умолчанию наследника вызывается конструктор по умолчанию родительского объекта для наследника. Однако конструктор с нетривиальным списком аргументов унаследован быть не может. Пример:
P.S. Вообще, даже в куда "более объектно-ориентированных" языках (C#, Java) проблема с наследованием конструкторов так же не решена, так что полагаться на введение наследования конструкторов в стандарт в обозримом будущем не стоит, ИМХО.
0
|
gray_fox
|
06.12.2013, 20:53
#8
|
Не по теме: Не прошло и пяти лет...
0
|
383 / 281 / 31
Регистрация: 04.09.2009
Сообщений: 1,225
|
|
06.12.2013, 21:58 | 9 |
xecu91, а директиву using почему не вспомнили?
может. с помощью той же директивы.
class B : public A { using A::A; // . . . }
0
|
3 / 3 / 0
Регистрация: 09.01.2012
Сообщений: 28
|
|
06.12.2013, 23:51 | 10 |
1) using не работает с конструкторами
2) Даже если бы работал, всё равно это не наследование. Вся информация о наследовании - между двоеточием после имени класса и открывающей фигурной скобкой.
0
|
What a waste!
1608 / 1300 / 180
Регистрация: 21.04.2012
Сообщений: 2,729
|
|
07.12.2013, 00:03 | 11 |
Работает, поверь.
Ну вообще это называется "inheriting constructors", так что хз...)
0
|
3 / 3 / 0
Регистрация: 09.01.2012
Сообщений: 28
|
|
07.12.2013, 01:04 | 12 |
0
|
Неэпический
|
|
07.12.2013, 01:09 | 13 |
0
|
383 / 281 / 31
Регистрация: 04.09.2009
Сообщений: 1,225
|
||||||
07.12.2013, 01:29 | 14 | |||||
0
|
3 / 3 / 0
Регистрация: 09.01.2012
Сообщений: 28
|
|||||||||||
07.12.2013, 01:33 | 15 | ||||||||||
0
|
383 / 281 / 31
Регистрация: 04.09.2009
Сообщений: 1,225
|
|
07.12.2013, 01:34 | 16 |
xecu91, В GCC, кстати, если собирать без опции с++11, то выводится такое предупреждение:
0
|
383 / 281 / 31
Регистрация: 04.09.2009
Сообщений: 1,225
|
|
07.12.2013, 01:42 | 18 |
0
|
Croessmah
|
07.12.2013, 01:46
#19
|
0
|
979 / 196 / 33
Регистрация: 26.09.2012
Сообщений: 2,041
|
|
07.12.2013, 01:54 | 20 |
Да конструкторы наследуются и вызывается конструктор по умолчанию, но лучше явно вызывать в конструкторе производного класса.
Деструктор от вроде не помню нужно виртуальный создавать обязательно что б при уничтожении производного класса обязательно вызывался для базового иначе, если не создать, то для базового класса он не вызовется. Лучше ето все тести на практике: создавай классы, создавай в них деструкторы и перепроверяй, наследуется они или нет, это все легко проверяется. Добавлено через 2 минуты Ну как конструктор наследуется? Тут я выше неправильно сказал, он вызывается для базового класса и если не создано или не вызвано никакого конструктора то компилятор создает пустой умолчательный конструктор и вызывает его при вызове конструктора производного класса (при создании объекта производного класса). Экспериментируй товарищ!!!!
0
|
07.12.2013, 01:54 | |
07.12.2013, 01:54 | |
Помогаю со студенческими работами здесь
20
Конструкторы и деструкторы Конструкторы и деструкторы Конструкторы и деструкторы Конструкторы и деструкторы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |