1 / 1 / 0
Регистрация: 24.08.2016
Сообщений: 14
|
|
1 | |
Инициализация членов дочернего класса членами класса родителя18.09.2016, 13:15. Показов 1344. Ответов 5
Метки нет Все метки)
(
Есть уже созданный класс-родитель A. Как эффективно инициализировать дочерний класс B членами класса A?
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
|
|
18.09.2016, 13:15 | |
Ответы с готовыми решениями:
5
Создать класс CheckerBoard (особенности строения класса - инициализация константных членов класса)
|
1386 / 1016 / 323
Регистрация: 28.07.2012
Сообщений: 2,804
|
|
18.09.2016, 13:25 | 2 |
![]() Решение
SomeDay,
1) Можешь реализовать соответствующий конструктор (или оператор присваивания) в дочернем классе B. 2) Напрямую скастовать B к указателю (или ссылке) на A и вызвать оператор присваивания.
0
|
![]() 8718 / 4299 / 957
Регистрация: 15.11.2014
Сообщений: 9,743
|
|
18.09.2016, 13:26 | 3 |
если под "дочерним классом" подразумевается "базовый класс", тогда к моменту инициализации родителя,
он уже является проинициализированным. в этом случае ответ на ваш вопрос - никак. эффективно сделать такое не получится. но если очень сильно хочется, то можно сделать через жепу. если под "дочерним классом" подразумевается нечто иное, тогда нужно уточнить, что именно.
0
|
132 / 158 / 87
Регистрация: 06.04.2016
Сообщений: 992
|
|
18.09.2016, 13:39 | 4 |
Что-то вопросы вообще тупые пошли. В конструкторе класса-наследника("дочерний класс") пишешь инициализацию переменных да и все! Вчера вообще вопрос был: как завести переменные во входные скобки функции
![]()
0
|
1 / 1 / 0
Регистрация: 24.08.2016
Сообщений: 14
|
|
18.09.2016, 14:50 [ТС] | 5 |
nonedark2008,
1)создал move-constructor в классе A: A(const A& a); 2)скастил константную ссылку на класс A; 3)синицировал класс B константной ссылкой на A; Вопрос: будет ли работать move-constructor класса A?
0
|
1386 / 1016 / 323
Регистрация: 28.07.2012
Сообщений: 2,804
|
|
18.09.2016, 16:48 | 6 |
SomeDay, можешь более подробно описать то, чего ты хочешь добиться?
Я правильно понимаю: 1) У тебя есть объект класса A 2) Есть наследник класса A, называемый классом B 3) Ты хочешь создать объект класса B, инициализировав его при этом ранее созданным объектом класса A Так? Это конструктор копирования. Конструктор перемещения (move-constructor) - это нечто A(A && a);, но он тебе не особо нужен.
0
|
18.09.2016, 16:48 | |
Помогаю со студенческими работами здесь
6
Инициализация членов класса нулями Инициализация статических членов класса Инициализация членов в объявлении класса Конструктор внутри класса, поля которого являются членами другого класса Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |