function overriding in c++

#include <iostream>

class Base {
public:
    virtual void display() const {
        std::cout << "Base class display\n";
    }
};

class Derived : public Base {
public:
    void display() const override {
        std::cout << "Derived class display\n";
    }
};

int main() {
    Base baseObj;
    Derived derivedObj;

    Base* ptr = &baseObj;
    ptr->display();  // Calls Base::display()

    ptr = &derivedObj;
    ptr->display();  // Calls Derived::display()

    return 0;
}