0 / 0 / 0
Регистрация: 28.03.2016
Сообщений: 9
|
||||||||||||||||||||||||||
1 | ||||||||||||||||||||||||||
Почему не наследуется конструктор?18.04.2020, 12:03. Показов 2876. Ответов 5
У меня проблема заключается в следующем: я сделал учебное задание с одним классом, а оказалось, что нужно было делать еще с двумя производными, которые являются дочерними первого, но теперь, при попытке вызвать конструктор, выдаёт ошибку: "нет подходящей функции с такими аргументами", хотя с классом-родителем всё работало.
main.cpp:
Кликните здесь для просмотра всего текста
Для организации иерархического построения объектов необходимо разработать базовый класс, который содержит функционал и свойства для построения иерархии объектов. В последующем, в приложениях использовать этот класс как базовый для всех создаваемых классов. Это позволит включать любой объект в состав дерева иерархии объектов. Создать базовый класс со следующими элементами: Свойства: - наименование объекта (строкового типа); - указатель на головной объект для текущего объекта (для корневого объекта значение указателя равно 0); - список указателей на объекты подчиненных к текущему объекту в дереве иерархии. Функционал: - параметризированный конструктор с параметром указателя на головной объект в дереве иерархии; - параметризированный конструктор с параметром указателя на головной объект в дереве иерархии и наименованием объекта; - метод задания имени объекта; - метод получения имени объекта; - метод вывода наименований объектов в дереве иерархии слева направо и сверху вниз. Написать программу, которая последовательно строит дерево иерархии объектов, слева направо и сверху вниз. Переход на новый уровень происходит от правого (последнего) объекта предыдущего уровня. Для построения дерева использовать объекты двух производных классов, наследуемых от базового. Каждый объект имеет уникальное имя. Построчно, по уровням вывести наименования объектов построенного иерархического дерева. Входные данные Первая строка: имя корневого объекта Создается корневой объект. Вторая строка и последующие строки: имя головного объекта имя подчиненного объекта Создается подчиненный объект и добавляется в иерархическое дерево. Если имя головного объекта равняется имени подчиненного объекта, то новый объект не создается и построение дерева объектов завершается. Пример ввода Object_root Object_root Object_1 Object_root Object_2 Object_root Object_3 Object_3 Object_4 Object_3 Object_5 Object_6 Object_6 Построенное дерево объектов Object_root Object_1 Object_2 Object_3 Object_4 Object_5 Выходные данные Первая строка: имя корневого объекта Вторая строка и последующие строки имена головного и подчиненных объектов очередного уровня разделенных двумя пробелами. имя головного объекта имя подчиненного объекта[[ имя подчиненного объекта] …….] Пример вывода Object_root Object_root Object_1 Object_2 Object_3 Object_3 Object_4 Object_5
0
|
18.04.2020, 12:03 | |
Ответы с готовыми решениями:
5
Не наследуется шаблонный конструктор Почему не наследуется? Почему конструктор не работает? Почему не работает конструктор? |
Вездепух
11691 / 6370 / 1723
Регистрация: 18.10.2014
Сообщений: 16,053
|
|||||||||||
18.04.2020, 12:27 | 3 | ||||||||||
Сообщение было отмечено Andrestone как решение
Решение
Конструкторы никогда сами не наследуются.
В "классическом" С++ это было принципиально невозможно. Начиная с С++11 вы можете сделать
Вы что-то выдумываете. Ошибка в вашем коде будет в первую очередь здесь
1
|
0 / 0 / 0
Регистрация: 28.03.2016
Сообщений: 9
|
|
18.04.2020, 12:32 [ТС] | 4 |
Да, я не знаю, как правильно это оформить, спасибо за пояснение про наследование конструктора. Мне просто обязательно нужно сделать через два производных класса дерево иерархии.
Добавлено через 2 минуты а тут вместо cl_base должно быть cl_1
0
|
Вездепух
11691 / 6370 / 1723
Регистрация: 18.10.2014
Сообщений: 16,053
|
|
18.04.2020, 12:33 | 5 |
0
|
0 / 0 / 0
Регистрация: 28.03.2016
Сообщений: 9
|
|
18.04.2020, 12:39 [ТС] | 6 |
Я понимаю
Добавлено через 5 минут Может быть у Вас есть идеи, как это можно реализовать? мне просто нужно построить дерево иерархии, задействуя два дочерних класса cl_base? С одним cl_base всё получалось, а тут не знаю, как оформить, буду очень благодарен за помщь
0
|
18.04.2020, 12:39 | |
18.04.2020, 12:39 | |
Помогаю со студенческими работами здесь
6
Почему не работает конструктор? Почему говорят, что конструктор не наследуется - я сейчас убедился в обратном) Наследуется ли конструктор базового класса? почему не наследуется метод из родителького класса Почему наследуется значение атрибута из первого блока? Можно ли наследовать TPaintBox? И как тогда? А то он почему-то не наследуется Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |