Skip to content

virtual

The virtual keyword is a function qualifier used to enable runtime polymorphism. Virtual methods can be overridden by derived classes.

Syntax

virtual ReturnType fuBar() { /* method body */ }
virtual ReturnType fuBar() abstract;
virtual ReturnType fuBar() override { /* method body */ }
virtual ReturnType fuBar() override final { /* method body */ }

Example Code

class animal
{
public:
    virtual void speak() abstract;
};

class dog : public animal
{
public:
    virtual void speak() override
    {
        std::print("Woof!");
    }
};

class cat : public animal
{
public:
    virtual void speak() override
    {
        std::print("Meow!");
    }
};