![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 29.06.2013
Сообщений: 132
|
![]()
На первый взгляд наследование, по сути, не сложная тема, но, тем не менее, есть некоторые моменты, которые я пока что не понял. Конструктор дочернего класса, как правило, выполняется после конструктора непосредственно базового к нему класса. Как я понимаю, всегда в параметрах производного класса прописываются все параметры, которые имеются в базовом классе и по цепочке вверх, до самого базового. Так вот. Если конструктор базового непосредственно можно задать, хотя бб набором параметров. То как можно задать конструктор выше по цепочке? Имею ввиду базового для базового дочернего? и тд...
Ведь не всегда нужно формировать класс с параметрами по умолчанию предыдущих классов. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
Непонятно что вы хотите. Вызвать конструктор не "parent", a "grandparent"? Смысл какой? Его ж и так вызовет parent.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 29.06.2013
Сообщений: 132
|
![]()
Производный класс вызовет конструктор класса "parent", а "parent" в свою очередь вызовет дефолтный конструктор класса "grandparent", так? А если надобно, чтоб класс "grandparent" вызван был с кнструктором не по умолчанию, а каким-то канкретным?
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
Ну видимо parent тогда должен был иметь конструктор, который вызывает нужный конструктор grandparent.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
![]() |
![]() |
![]() |
#5 | |
Форумчанин
Регистрация: 16.01.2015
Сообщений: 672
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 29.06.2013
Сообщений: 132
|
![]() |
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 16.01.2015
Сообщений: 672
|
![]()
как это не указываем?
|
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 29.06.2013
Сообщений: 132
|
![]()
Объясню на конкретном примере. Есть, например, 3 класса:
- Base (Самый основной класс) - Second (Производный от класса Base) - Third (Производный от класса Second) Допустим, есть такой расклад: PHP код:
PHP код:
PHP код:
Если Third наследник от Second, то будет так: PHP код:
Но с каким конструктором будет инициализироваться класса Base? Ведь он самый базовый. Но не непосредственно. |
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
Странные у вас коментарии. Какой ж это дефолтный если с параметрами, да еще и при наличии не дефолтных?
И что вы хотите от конструкторов? В Third вы вызываете конструктор Second, а он вызывает конструктор First.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
![]() |
![]() |
![]() |
#10 | |
Форумчанин
Регистрация: 29.06.2013
Сообщений: 132
|
![]() Цитата:
Надеюсь я доходчиво объяснил что думаю. |
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблема с конструктором | igor17 | Общие вопросы C/C++ | 13 | 15.05.2011 22:23 |
Сводная таблица с суммированием по конкретным ячейкам | de-dimko | Microsoft Office Excel | 3 | 11.08.2010 14:17 |
Позиционирование текста над конкретным местом другой строки | RuZ | HTML и CSS | 0 | 29.07.2010 18:01 |
Помогите с конструктором | girkoff | Общие вопросы C/C++ | 10 | 01.11.2009 16:01 |