Polymorphism and Virtual Functions

Polymorphism allows methods to behave differently based on the object.

class Animal {
  public:
    virtual void speak() {
      cout << "Animal sound\n";
    }
};

class Dog : public Animal {
  public:
    void speak() override {
      cout << "Bark!\n";
    }
};

Using virtual enables dynamic method resolution at runtime.

← PrevNext →