A function can be overridden using inheritance to change its behavior. However, sometimes, we don’t need to completely alter or replace the functionality of the base (parent) class; instead, we need to add more functionality. In order to do this, the derived (child) class can call the parent’s function first (using the scope resolution operator ::
) and then implement the additional functionality.
Re-using the parent’s code lets us write less code in the derived class.
#include <iostream>using namespace std;class Base{public:void foo(){cout << "Base class functionality" << endl;}};class Derived: public Base{public:// Overriding foo():void foo(){Base::foo(); // Calling foo() of Base classcout << "Derived class functionality" << endl;}};int main() {Derived d;d.foo();return 0;}
Free Resources