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.