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;
}