13 / 13 / 2
Регистрация: 13.09.2013
Сообщений: 113
|
||||||
1 | ||||||
Вызов конструктора базового класса из класса-наследника29.04.2014, 03:14. Показов 8759. Ответов 8
Метки нет Все метки)
(
Можно ли вне списка инициализации вызвать конструктор базового класса ?
0
|
|
29.04.2014, 03:14 | |
Ответы с готовыми решениями:
8
Вызов конструктора базового класса Вызов конструктора базового класса из порожденного Знакомство с наследованием. Вызов конструктора базового класса Вызвать конструктор производного класса без конструктора базового класса |
3254 / 2056 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
|
29.04.2014, 05:11 | 2 |
0
|
13 / 13 / 2
Регистрация: 13.09.2013
Сообщений: 113
|
|
29.04.2014, 11:37 [ТС] | 4 |
Спасибо за ответ )
Ну например у меня есть библиотека от которой я могу наследоваться. Предположим это класс,который хранит 3 числа. Я наследуюсь от него, что бы создать класс,который работает с этими числами как со сторонами треугольника. Т.к. стороны не могут быть отрицательными,то сначала бы хотелось проверить аргументы,а потом уже вызывать конструктор. Ну,это понятно ![]()
0
|
29.04.2014, 11:41 | 5 |
на момент вызова тела конструктора, все поля и базовые части уже должны быть сконструированы. Иначе как тело конструктора будет работать с ними?!
Другое дело, что ты можешь проверить в конструкторе, верные ли значения у базовой части и если нет, как-то отреагировать.
1
|
![]() 2924 / 1273 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
|
|
29.04.2014, 13:24 | 6 |
А как можно отреагировать, если значения уже неверные? Только бросить исключение и надеяться, что вызывающий код его поймает и примет решение, что делать дальше.....
0
|
3254 / 2056 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
|
29.04.2014, 16:03 | 8 |
Это как раз тот случай, когда не нужно использовать наследование. Если удобно использовать именно тройку чисел, которая реализована в библиотеке, например, в виде класса triad, то лучше эту триаду сделать полем класса "треугольник".
1
|
13 / 13 / 2
Регистрация: 13.09.2013
Сообщений: 113
|
|
29.04.2014, 17:51 [ТС] | 9 |
Tulosba,ну,можно и так так
![]() 0x10, хм...возможно Вы правы. Во всяком случае,я просто хотел выяснить вопрос о конструкторе... Спасибо ![]()
0
|
29.04.2014, 17:51 | |
Помогаю со студенческими работами здесь
9
Вызов метода производного класса через обращение к методу базового класса Вызов объектом базового класса функцию из производного класса! Создание базового класса и наследника Вызов метода базового класса из класса-потомка Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |