![]() |
#3 |
Moderator
|
Я уже давненько не перечитывал ARM Страуструпа, но боюсь что в C++ тебя постигнет такая же неудача с этими конструкциями.
Модификатор final (его то как раз C++ нету, это из Java пришло) имеет смысл только для методов экземпляра, поскольку механизм "виртуализации" методов для статических методов не применим, так как они вызываются не в контексте экземпляра, соответственно у компилятора нет доступа к таблице виртуальных методов, привязываемой к экземпляру. При вызове статического метода класса, нужно указывать именно тот класс в котором этот метод определен, то есть вызов child: ![]() В дочерних классах наследуются только методы экземпляра (не статические). |
|