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!");
}
};