redefine a non-virtual function in C++ -


When I read Effective C ++, it says, sometimes a non-virtual function in C ++ It is not defined again

However, when I tested it, the code below was compiled correctly. So what's the matter? Is this a mistake or just a bad practice?

  class A {public: zero F () {cout & lt; & Lt; "A.f ()" & lt; & Lt; Endl;}; }; Class B: Public A (public: zero F) (cout << bf () " 

A non-virtual function It is okay to redefine it, as long as you are not dependent on the virtual remittance behavior

The author of the book is afraid that you will pass a B * function to a < Code> A * and then can be disturbed when the result is a call to the base method, not the view Pnn method.


Comments

Popular posts from this blog

php - multilevel menu with multilevel array -

c# - TypeConverter in propertygrid only converts from string, not to -

jQuery UI: Datepicker month format -