Закрытый виртуальный метод базового класса нельзя вызвать из наследника, но можно переопределить.
Спасибо, не знал. Что-то не могу придумать, где такое могло бы быть полезно. На X_Macro это очень похоже. Попробую подобный пример составить, чтобы лучше понять.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
private не при чём, у вас же эта функция как final объявлена.
Так в наследуемом классе нет же private-методов родителя. Поэтому и переопределения, вроде, как и не должно быть.
Здрасьте-приехали.
public-наследование же. Из потомка private-методы родителя не доступны, если верить компилятору.
Закрытый виртуальный метод базового класса нельзя вызвать из наследника, но переопределить - можно, что вы и пытаетесь сделать.
Закрытый виртуальный метод базового класса нельзя вызвать из наследника, но можно переопределить.
Попробую подобный пример составить, чтобы лучше понять.
Прикольно получилось
наверное, такая конструкция может где-то пригодиться.
public-наследование же. Из потомка private-методы родителя не доступны, если верить компилятору.
С помощью этого можно сделать аналог ключевого слова final, прямой запрет дальнейшего наследования.
Да вот как показывает пример выше, нельзя аналог сделать. Нужно final прописывать даже для private-методов.
Странно. для public наследования максимальный доступ должен быть protected а не private.
А в примере функция точно перегружается?
Странно. для public наследования максимальный доступ должен быть protected а не private.
А в примере функция точно перегружается?
Точно. Сам вот только узнал.
Если в примере сделать
BASE() {Func();} // вместо void Init() {Func();} Вызов Base.Init() - убрать конечно.то можно проверить себя после запуска, правильно ли понимаете, что должно происходить.