Dziedziczenie
class KlasaBazowa
{
};
class KlasaPochodna
: typ_dziedziczenia KlasaBazowa
{
};
Dziedziczenie publiczne public
Dziedziczenie publiczne jest najczęściej stosowane. Składowe publiczne klasy bazowej są odziedziczone jako publiczne, a składowe chronione jako chronione.Dziedziczenie chronione protected
W dziedziczeniu chronionym składowe publiczne są dziedziczone jako chronione, a składowe chronione jako chronione.
Dziedziczenie prywatne private
Dziedziczenie prywatne (domyślne). Składowe publiczne są dziedziczone jako prywatne, a chronione jako prywatne.
Przykład 1.
#include <iostream>
using namespace std;
class KlasaBazowa {
public:
int x=0;
};
class KlasaPochodna : public KlasaBazowa {
};
int main() {
KlasaPochodna Nazwa;
cout << Nazwa.x;
return 0;
}
Przykład 2.
Dziedziczenie wielokrotne
Klasę pochodną można również zdefiniować z więcej niż jednej klasy bazowej, używając listy klas oddzielonej przecinkami.Przykład 3. Klasy pochodne na podstawie kilku klas bazowych
#include <iostream>
using namespace std;
class KlasaBazowaA {
public:
int x=10;
};
class KlasaBazowaB {
public:
int y=1;
};
class KlasaPochodna : public KlasaBazowaA, public KlasaBazowaB {
};
int main() {
KlasaPochodna NazwaObiektu;
cout << NazwaObiektu.x;
cout << NazwaObiektu.y;
return 0;
}
Dziedziczenie wielopoziomowe
Klasa może również pochodzić z klasy, która jest już pochodną innej klasy.Specyfikatory dostępu
Z rozdziału Specyfikatory dostępu dowiedziałeś się , że w C ++ są dostępne trzy specyfikatory. Do tej pory używaliśmy tylko public (elementy klasy są dostępni spoza klasą) i private (dostęp do elementów jest możliwy tylko w obrębie klasy). Trzeci specyfikator protected jest podobny do private, ale można do niego uzyskać dostęp w odziedziczonej klasie.