|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
30.09.2015, 14:52 | #1 |
Заблокирован
Регистрация: 06.02.2011
Сообщений: 1,999
|
Переопределение функции
Почему при выполнении b.func_1(); не получаю ошибку ?
в с++ вроде так незя. Код:
Код:
|
30.09.2015, 15:04 | #2 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
С чего бы нельзя? Где тут переопределение? Это перегрузка (overload), а не переопредение (override). Просто две функции с разными параметрами.
Это вроде только в чистом С нельзя создать функцию с тем же именем, но разными параметрами. И даже если бы в B было func_1(), то это было бы скрытие, а не переопределение. В C# был бы варнинг и для его устранения можно было бы добавить слово new перед определением метода. (ну или сделать нормальное переопределение с virtual/abstract в А и override в B)
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. Последний раз редактировалось Alex11223; 30.09.2015 в 15:12. |
30.09.2015, 15:15 | #3 |
Заблокирован
Регистрация: 06.02.2011
Сообщений: 1,999
|
в чистом с++ это бы не работалоhttp://ideone.com/kU8IB1
Последний раз редактировалось RAFA91; 30.09.2015 в 15:19. |
30.09.2015, 15:29 | #4 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
А, точно. Ну все равно это перегрузка, а не переопределение.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
30.09.2015, 15:39 | #5 |
Заблокирован
Регистрация: 06.02.2011
Сообщений: 1,999
|
термин перегрузка в чистом с++ походу в данном случае не катит.
void func_1(int a) скрыла или заменила void func_1() но могу врать Последний раз редактировалось RAFA91; 30.09.2015 в 15:41. |
30.09.2015, 15:41 | #6 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
С чего бы не катит? Просто С++ не разрешает так перегружать методы в разных классах ("скрывает" методы с одинаковым именем из базового класса, если не добавить using A::func_1 )
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Переопределение метода | Gothic Angelos | Общие вопросы по Java, Java SE, Kotlin | 1 | 23.05.2013 19:23 |
Переопределение операций | zink | Помощь студентам | 0 | 21.01.2013 01:10 |
Переопределение деструктора | avd | Общие вопросы Delphi | 2 | 31.01.2011 11:16 |
переопределение операции | Ver0nica | Помощь студентам | 0 | 06.05.2010 14:30 |
Наследование и переопределение. | Lunex.08 | Общие вопросы C/C++ | 3 | 29.09.2009 09:23 |