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. 1
    Clasa de bază cu funcție virtuală class Animal { public: virtual void sunet() { cout << "Sunet animal"; } };
  2. 2
    Clase derivate class Caine : public Animal { public: void sunet() override { cout << "Ham"; } }; class Pisica : public Animal { public: void sunet() override { cout << "Miau"; } };
  3. 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.

Mai multe din Programare