Michel H
Michel H

Reputation: 363

C++: When is method redefinition preferred over virtual method override?

Do virtual methods bind statically when objects are not created dynamically?

If virtual methods have the best of both worlds (static and dynamic binding when needed), what is the point of having non-virtual methods? In what cases would one prefer their use over virtual ones?

For better explanations I included a simple class hierarchy.

Base Class:

Class Base
{
/*
 Member data, constructors and destructors
*/
public:
  void my_redefined_func();
  virtual void my_overriden_func();
};

Derived Class:

Derived : public Base
{
/*
 Member data, constructors and destructors
*/
public:
  void my_redefined_func();
  virtual void my_overriden_func() override;
};

Upvotes: 0

Views: 43

Answers (0)

Related Questions