Programowanie obiektowe, C++
Dziedziczenie wielobazowe
[lekcja] 15. Dziedziczenie wielobazowe, czyli wiele klas bazowych.Dziedziczenie wielobazowe
Dziedziczenie wielobazowe (Zwane też
wielodziedziczeniem, albo
dziedziczeniem wielokrotnym) to takie dziedziczenie, w którym jest więcej niż jedna klasa bazowa. Klasy bazowe oddzielamy przecinkami i przy każdej podajemy sposób dziedziczenia.
class D
: public B1
, public B2
, B3
{ };
Tu klasa
D dziedziczy publicznie po
B1 i
B2 oraz prywatnie po
B3. Nie można dziedziczyć kilka razy po tej samej klasie
class B { };
class D
: B
, B
{ };
Opieranie projektów klas o dziedziczenie wielobazowe jest powszechnie uznawane za błąd projektowy. Niemniej, wszystko jest dla ludzi, o ile stosowane z rozwagą.. |
Przykład
#include <iostream>
class A
{
public:
virtual void a()
{
std::cout << "a" << std::endl;
}
};
class B
{
public:
virtual void b()
{
std::cout << "b" << std::endl;
}
};
class AB
: public A
, public B
{ };
int main()
{
AB ab;
ab.a();
ab.b();
}
a
b
Wszystkie teksty są chronione prawami autorskimi. Kopiowanie lub rozpowszechnianie treści poza niniejszym serwisem
jest zabronione.
Powyższe ograniczenie nie dotyczy autora opracowania, któremu przysługuje prawo do rozpowszechniania własnego tekstu wedle własnego uznania.