Скажем, у меня есть кулак классаМожет ли подкласс повлиять на видимость виртуальных методов?
class Walker {
public:
Walker();
virtual ~Walker();
virtual void Step();
};
Тогда второй один, выводя из бывшего
class Mecha : public Walker {
public:
Mecha();
virtual ~Mecha();
private:
virtual void Step();
};
private
Это модификатор на Step()
любой полезной? Mecha::Step()
все еще можно назвать Walker::Step()
, не так ли? Не должно ли быть предупреждение, поскольку я пытаюсь изменить природу суперкласса с помощью определения его подкласса?
По касательной: это, вероятно, хорошее время, чтобы услышать о ['override'] (http://en.cppreference.com/w/cpp/language/override) и [' final'] (http://en.cppreference.com/w/cpp/language/final) спецификаторы :) – Quentin