Informatică Programare

Polimorfism C++ explicatii 12a

Polimorfismul în C++ permite obiectelor de tipuri diferite să răspundă la același mesaj (apel de funcție) în moduri specifice. Este o caracteristică a programării orientate pe obiecte care se bazează pe moștenire și funcții virtuale. În clasa a 12-a, înveți cum să-l folosești pentru a scrie cod mai flexibil și reutilizabil.

Tipuri de polimorfism

  • Polimorfism static (supraîncărcare) Se realizează prin supraîncărcarea funcțiilor sau operatorilor. Exemplu: o funcție 'suma' care poate primi doi int sau doi double.
  • Polimorfism dinamic (suprascriere) Se bazează pe funcții virtuale și pointeri către clase de bază. Exemplu: o clasă 'Forma' cu funcția virtuală 'arie()', suprascrisă în 'Cerc' și 'Dreptunghi'.
  • Polimorfism prin șabloane Folosește template-uri pentru a lucra cu tipuri generice. Exemplu: template <typename T> T maxim(T a, T b).

Exemplu practic cu polimorfism dinamic

  1. 1
    Definește clasa de bază class Animal { public: virtual void sunet() { cout << "Sunet generic"; } };
  2. 2
    Moștenește și suprascrie class Caine : public Animal { public: void sunet() override { cout << "Ham!"; } };
  3. 3
    Folosește pointer către clasa de bază Animal* a = new Caine(); a->sunet(); // Afișează "Ham!" datorită polimorfismului.

Pentru bac, exersează scrierea de clase cu funcții virtuale și demonstrează cum un pointer de tipul clasei de bază poate apela metode ale claselor derivate.

Mai multe din Programare