Наследование конструкторов04.03.2015, 08:49. Показов 4659. Ответов 15
Метки нет (Все метки)
Вопрос по теории наследования:
Есть некоторый базовый класс с двумя конструкторами типа паблик, первый без аргумента, второй с одним аргументом. Был создан производный от исходного класс, с применением паблик наследования. Будут ли объекты производного класса иметь доступ ко обоим конструкторам базового класса?
0
|
|
| 04.03.2015, 08:49 | |
|
Ответы с готовыми решениями:
15
Наследование конструкторов?
|
|
1358 / 856 / 366
Регистрация: 26.02.2015
Сообщений: 3,814
|
|
| 04.03.2015, 08:50 | |
|
Наверное, только через свои конструкторы.
0
|
|
| 04.03.2015, 09:09 [ТС] | |
|
А если в производном классе вообще не писать конструкторов?
В одной книге по Си++ приводится пример наследования конструктора без аргументов без его определения в производном классе, но автор пишет что конструктор с аргументами таким образом не наследуется. Что за парадокс? Без аргументов наследуется а с аргументами нет, в чем причина? Добавлено через 13 минут Ilot, ?
0
|
|
|
|
|||||||
| 04.03.2015, 09:45 | |||||||
0
|
|||||||
|
|
||||||||||||
| 04.03.2015, 12:44 | ||||||||||||
В С++11 появилось еще вот такое наследование конструкторов:
0
|
||||||||||||
| 04.03.2015, 18:12 [ТС] | ||||||
|
DiffEreD, Ilot,
Я вот этот пример имею в виду. Конструктор не наследуется.
0
|
||||||
|
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,816
|
||
| 04.03.2015, 18:24 | ||
|
Про С++11 и его способ "перетащить" конструктор из базового класса в наследника выше уже сказали.
0
|
||
| 04.03.2015, 18:33 [ТС] | |
|
0
|
|
|
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,816
|
|||
| 04.03.2015, 18:38 | |||
|
Причем я сначала думал, что это просто перевод такой, но в оригинале там тоже самое. Вот тебе настоящий источник: 12.1/4
1
|
|||
| 04.03.2015, 18:43 [ТС] | |
|
DrOffset,
На основе сообщений выше я правильно понял, что в любом случае нужно в производных классах писать свои конструкторы, которые ссылаются на базовый?
0
|
|
|
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,816
|
|||||||
| 04.03.2015, 18:57 | |||||||
|
Если тебя устраивает, что конструктор наследника вызывает конструктор базового класса без параметров, то можно не писать. Если нужно например такое, как в примере ниже, то придется сделать конструктор (или использовать фичи С++11). Небольшой поясняющий пример:
0
|
|||||||
| 04.03.2015, 19:21 [ТС] | ||||||||||||
|
Зачем писать
Ааа, я понял, при создании неинициализированного объекта производного класса, вызывается конструктор без арг-ов этого класса, который вызывает конструктор с одним параметром из базового класса, тем самым поле объекта инициализируется 12?
0
|
||||||||||||
|
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,816
|
|||||||||
| 04.03.2015, 19:30 | |||||||||
|
Пишу так, потому что минимальные проекты, с которыми я работаю, давно превышают несколько миллионов строк. Если ты будешь раскидываться в таких проектах импортами других неймспейсов в глобальное пространство, то скорее всего будешь бит или сброшен с моста с зацементированными ногами. ![]() Простой пример:
Добавлено через 32 секунды
0
|
|||||||||
| 04.03.2015, 19:41 | |
|
0
|
|
| 04.03.2015, 20:26 | |
|
0
|
|
| 04.03.2015, 20:26 | |
|
Помогаю со студенческими работами здесь
16
Наследование конструкторов
Наследование конструкторов Наследование конструкторов Явное наследование конструкторов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|