Jak se dá obejít vícenásobná dědičnost?
Fórum › C / C++
Vícenásobná dědičnost

To Jura_: Spíš mě zajímá jestli jsou nějaké konkrétní spolehlivé způsoby, které lze použít vždy, nebo se musí používat pokaždé něco jiného podle typu problému?
To midin:
Uprimne, ted jsem jeste vice v lese, nez predtim. Ale abych aspon nejak odpovedel, tak na reseni nekterych problemu se daji pouzit uz predem vymyslene navrhove vzory(design pattern), ale samozrejme si je musis upravit vzhledem k problemu.
To midin: No a co třeba dědit jen od jedné třídy a do nové třídy zahrnout ty ostatní jako její soukromé/veřejné členy a potom je volat podle jejich jmen?
To meneltharion: Aj, vůbec jsem netušil, že to jde :) Mohl bys uvést jen krátký kód pro pochopení? Dík :)
To Jura_: :) Stejně díky :)
To midin: sice niesom meneltharion ale skusim ;)
class BaseClass
{// nejake cleny
protected:
void Method();
}
class AnotherBaseClass
{// nejake cleny
public:
void Metoda();
}
class DerivedClass : public BaseClass
{
AnotherBaseClass instance;
public:
DerivedClass()
{
instance.Metoda(); // vola sa metoda instancie
Method(); // vola sa zdedena metoda
}
}
nevyhoda tohoto riesenia je, ze jediny sposob ako volat private cleny AnotherBaseClass je cez priatelov
To PaLaDiN: Proč teda existuje dědičnost, když si můžu v jakékoliv třídy vytvořit instanci jiné třídy?

Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
































Uživatelé prohlížející si toto vlákno
Podobná vlákna
Dedicnost ... — založil Koudis
Moderátoři diskuze