FAQ: Should a derived class redefine ("override") a member function that is non-virtual in a base class? ←(in the new Super-FAQ)
It's in Section: Inheritance — what your mother never told you:
- FAQ: Is it okay for a non-virtual function of the base class to call a virtual function?
- FAQ: That last FAQ confuses me. Is it a different strategy from the other ways to use virtual functions? What's going on?
- FAQ: Should I use protected virtuals instead of public virtuals?
- FAQ: When should someone use private virtuals?
- FAQ: When my base class's constructor calls a virtual function on its this object, why doesn't my derived class's override of that virtual function get invoked?
- FAQ: Okay, but is there a way to simulate that behavior as if dynamic binding worked on the this object within my base class's constructor?
- FAQ: I'm getting the same mess with destructors: calling a virtual on my this object from my base class's destructor ends up ignoring the override in the derived class; what's going on?
- FAQ: Should a derived class redefine ("override") a member function that is non-virtual in a base class? (this FAQ)
- FAQ: What's the meaning of, Warning: Derived::f(char) hides Base::f(double)?
- FAQ: What does it mean that the "virtual table" is an unresolved external?
- FAQ: How can I set up my class so it won't be inherited from?
- FAQ: How can I set up my member function so it won't be overridden in a derived class?