![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Заблокирован
Регистрация: 06.02.2011
Сообщений: 1,999
|
![]()
Всем доброго дня !
Подскажите пожалуйста почему при отсутствии в классе С метода void hgh() вызывается метод void hgh() класса В, а не А ? Код:
себе типы А,B,C и тем самым происходит вызов метода из класса на уровень выше (при наличии в этом классе замещенного метода) ? Код:
|
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
![]()
Класс-наследник наследует все методы и переменные класса родителя.
|
![]() |
![]() |
![]() |
#3 |
Заблокирован
Регистрация: 06.02.2011
Сообщений: 1,999
|
![]() |
![]() |
![]() |
![]() |
#4 | |
Санитар
Старожил
Регистрация: 04.10.2008
Сообщений: 2,577
|
![]() Цитата:
Потому что ты написал это: Код:
Код:
Считай, что если в классе реализуется виртуальный метод - то указатель на него помещается в таблицу (затирая предыдущее значение если оно было). Т.е. когда конструируется класс В - то затираются указатели на виртуальные методы класса А. Если затем вызывается конструктор класса С - то указатели обновляются еще раз. Это очень схематично и не совсем верно, быть может, но думаю тебе поможет ![]() |
|
![]() |
![]() |
![]() |
#5 |
С++, Delphi
Форумчанин
Регистрация: 24.11.2012
Сообщений: 495
|
![]() Код:
он сначала объявил чистую виртуальную функцию, делающий класс А абстрактным? а следом описывает тело? ![]()
Если помог, тут весы есть
![]() |
![]() |
![]() |
![]() |
#6 | |
gamer
Участник клуба
Регистрация: 09.05.2015
Сообщений: 1,529
|
![]() Цитата:
мой канал на Ютубе: youtube.com/@games-zz3ju/videos/
мой канал на Рутубе: rutube.ru/channel/31423139/videos/ В ожидании Кеши... |
|
![]() |
![]() |
![]() |
#7 | ||
Вредный кошак
Участник клуба
Регистрация: 14.10.2012
Сообщений: 1,159
|
![]() Цитата:
Цитата:
|
||
![]() |
![]() |
![]() |
#8 | |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
![]() Цитата:
Edit: А, если речь о том можно ли именно так описывать, то да, не по стандарту, но у MS катит. Последний раз редактировалось waleri; 02.08.2015 в 20:55. |
|
![]() |
![]() |
![]() |
#9 | |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
![]() Цитата:
но это не по стандарту. по стандарту, нельзя реализовать туловище чисто-виртуальной функции-члена в декларации класса. поэтому, его следует выносить за пределы класса. например - в файл спп. |
|
![]() |
![]() |
![]() |
#10 | |
С++, Delphi
Форумчанин
Регистрация: 24.11.2012
Сообщений: 495
|
![]() Цитата:
Для ТС, virtual function. От себя добавлю, что с виртуальными функциями нужно быть осторожнее, хотя я имею привычку писать виртуальный деструктор, в отличии от стандартной библиотеки, которая его не имеет. это хаб
Если помог, тут весы есть
![]() Последний раз редактировалось Perchik71; 02.08.2015 в 23:08. |
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Многоуровневый if/else | Bender1000 | JavaScript, Ajax | 9 | 04.12.2014 15:48 |
Многоуровневый нумерованный список Word2010 | КарандашТМ | Microsoft Office Word | 3 | 13.09.2014 18:29 |
Многоуровневый список в ворде. | NewLamer&Programer | Помощь студентам | 1 | 28.06.2013 09:31 |
многоуровневый комбобокс на основе ExtJS | sashonk | JavaScript, Ajax | 0 | 02.09.2010 16:58 |
Многоуровневый заголовок (Delphi) | VadEr | Помощь студентам | 1 | 02.03.2010 14:54 |