Polymorphism - heshawacooray/OOP-Heshawa GitHub Wiki

Definition: Polymorphism allows objects of different classes to be treated as objects of a common base class. It is achieved through method overriding (runtime polymorphism) and method overloading (compile-time polymorphism).

Example code (Method Overriding):

#include <iostream>
using namespace std;

class Animal {
public:
    virtual void sound() {
        cout << "Animal makes a sound" << endl;
    }
};

class Dog : public Animal {
public:
    void sound() override {
        cout << "Dog barks" << endl;
    }
};

int main() {
    Animal* animal = new Dog();
    animal->sound();  // Outputs: Dog barks

    delete animal;
    return 0;
}
⚠️ **GitHub.com Fallback** ⚠️