Informatică Programare

Polimorfism C++ explicat

Polimorfismul în C++ permite obiectelor să aibă comportamente diferite prin aceeași interfață, folosind funcții virtuale. Acesta se realizează prin pointeri sau referințe la clasa de bază care pot apela metode din clasele derivate.

Elemente cheie

  • Funcții virtuale Declarate cu 'virtual' în clasa de bază, pot fi suprascrise în clasele derivate. Exemplu: virtual void sunet() { cout << "Sunet generic"; }
  • Pointeri la clasă de bază Un pointer de tip Vehicul* poate pointa la un obiect Masina, apelând metoda corectă în timpul execuției.
  • Funcții pure virtuale virtual void sunet() = 0; face clasa abstractă, forțând clasele derivate să implementeze metoda.

Exemplu de polimorfism

  1. 1
    Definește clase cu funcție virtuală class Animal { public: virtual void vorbeste() { cout << "..."; } }; class Caine : public Animal { public: void vorbeste() override { cout << "Ham!"; } };
  2. 2
    Folosește pointer polimorfic Animal* a = new Caine(); a->vorbeste(); // Afișează 'Ham!' în loc de '...'
  3. 3
    Curăță memoria delete a; // important pentru a evita scurgeri de memorie

Utilizează 'override' în clasele derivate pentru claritate și evitarea erorilor.

Mai multe din Programare