Informatică Programare
Polimorfism C++ exemple
Polimorfismul în C++ permite obiectelor de tipuri diferite să răspundă la același mesaj, adesea prin funcții virtuale. Exemplu: o funcție virtuală sunet() poate fi suprascrisă în clase derivate pentru a produce sunete specifice.
Tipuri de polimorfism
- Polimorfism dinamic Realizat cu funcții virtuale și pointeri de bază, permite comportament la runtime.
- Polimorfism static Realizat prin supraîncărcarea funcțiilor sau șabloane, rezolvat la compilare.
- Funcție virtuală Declarată cu virtual în clasa de bază, poate fi suprascrisă în derivate.
Exemplu cu animale
- 1 Clasa de bază cu funcție virtuală class Animal { public: virtual void sunet() { cout << "Sunet animal"; } };
- 2 Clase derivate class Caine : public Animal { public: void sunet() override { cout << "Ham"; } }; class Pisica : public Animal { public: void sunet() override { cout << "Miau"; } };
- 3 Utilizare polimorfică Animal* a1 = new Caine(); Animal* a2 = new Pisica(); a1->sunet(); // Afișează Ham a2->sunet(); // Afișează Miau
Implementează polimorfismul pentru a scrie cod flexibil și extensibil.