In this C++ tutorial, you will learn about Function Overriding, how to override functions in super class by defining a function in the child class with the same function name and same set of parameters, with examples.

C++ Function Overriding

In C++, Function Overriding is a process of overriding the base class behaviour by derived class behaviour. To override a function of base class, define a function in derived class with the same function prototype as that of in base class.

In this tutorial, we will learn how to override a function defined in base class, by defining the same function, and of course with different logic, in derived class.

Syntax

The syntax to override function printMsg() of base class A by the same function in derived class B is

class A {
public:
    void printMsg(string s) {
        //code
    }
};

class B: public A {
public:
    void printMsg(string s) {
        //override code
    }
};
ADVERTISEMENT

Examples

1. Override printMsg() function in class A with the printMsg() function in class B

In the following program, we have two classes: A and B. A is base class and B is derived class of A. B inherits the properties and behaviours of A. But to override a behaviour/function printMsg() of base class, B implements the function printMsg() by itself. B is overriding the function of base class A.

C++ Program

#include <iostream>
using namespace std;

class A {
public:
    void printMsg(string s) {
        cout << "A : " << s << endl;
    }
};

class B: public A {
public:
    void printMsg(string s) {
        cout << "B : " << s << endl;
    }
};

int main() {
    B b;
    b.printMsg("Hello World");
}

Output

B : Hello World
Program ended with exit code: 0

Conclusion

In this C++ Tutorial, we learned what Function Overriding is, and how to use Function Overriding to override the behaviour of base class by derived class, with the help of examples.