OOП Наследство во повеќе нивоа


    Наследството со повеќе нивоа претставува вид на наследство кога изведената класа е основна класа за друга класа. Со други зборови, изведувањето класа од изведена класа е познато како наследство на повеќе нивоа. Едноставно наследство на повеќе нивоа е прикажано на сликата подолу каде што Класа А е родител на Класа Б и Класа Б е родител на Класа Ц

Пример

#include <iostream>

using namespace std;

 // osnovna klasa

 class MojaKlasa {

  public:

    void MojaFunkcija() {

      cout << "Bilo kakov tekst vo osnovna klasa." ;

    }

};

// Izvedena klasa (child)

class Naslednik_1: public MojaKlasa {

};

 

// Izvedena klasa (grandchild)

class Naslednik_2: public Naslednik_1 {

};

 

int main() {

  Naslednik_2  N;

  N.MojaFunkcija();

  return 0;

}

Хиерархиска наследност

Кога има потреба да се креираат повеќе изведени класи кои наследуваат својства од истата основна класа е позната како хиерархиска наследност

class osnovna

{

        //sodrzina na osnovnata klasa

};

 

class izvedena1 :public osnovna

{

        // sodrzina na klasata izvedena1

};

 

class izvedena2 :public osnovna

{

        // sodrzina na klasata izvedena2

};

 

class izvedena3 :public osnovna

{

        // sodrzina na klasata izvedena3

};

 

class izvedena4 :public osnovna

{

        // sodrzina na klasata izvedena4

};

Хибридна наследност (позната и како Виртуелна наследност)

Комбинацијата на мулти-ниво и хиерархиско наследство ќе ви даде хибридно наследство.