class Base {
public:
void foo() const {
std::cout << "foo const" << std::endl;
}
};
class Derived : public Base {
public:
void foo() {
std::cout << "foo"<< std::endl;
}
}
Я хочу убедиться, что константа foo() правильно скрыта для Base. Да, это плохая идея, и, возможно, мне следует сделать Base::foo() const чисто виртуальным, чтобы требовать корректного переопределения Dervied::foo(), но допустим, я не могу сделать Base::foo() const чисто виртуальным . Есть ли лучший способ убедиться, что константа Base::foo() правильно скрыта в Derived?
Изменить: я хочу убедиться, что в Derived я правильно скрыл базовую реализацию.