Re[3]: почему ругается компилятор? MSVC 2010
От: rg45 СССР  
Дата: 30.06.25 16:16
Оценка:
Здравствуйте, sushko, Вы писали:

S>Странно мне это. Мне казалось, что по логике родительский print должен был "становиться рядом" с дочерним. Поскольку набор аргументов разный, то дескрипторы (если я правильно понимаю этот термин) функций не должны пересекаться...


Так происходит, когда перегруженные функции находятся в одном классе. А одноименные функции производных классов скрывают функции базового класса. Так было, начиная с C++98. И даже раньше. И логика тут простая — производный класс может объявить повторно любой из членов базового класса, в т.ч. и функцию-член — с идентичными параметрами и модификаторами. И это не будет вызывать ошибок компиляции.

Собственно, с пространствами имен ведь ровно то же самое.
--
Справедливость выше закона. А человечность выше справедливости.
Отредактировано 30.06.2025 16:51 rg45 . Предыдущая версия . Еще …
Отредактировано 30.06.2025 16:20 rg45 . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.