FAQ Part 8: Advanced OOP – Virtual Functions and Abstract Classes

What is a virtual function?

A virtual function allows derived classes to override it at runtime.

class Base {
public:
    virtual void print() { cout << "Base"; }
};

What is a pure virtual function?

It makes a class abstract, i.e., it cannot be instantiated.

virtual void show() = 0;