
#naukacplusplus #cplusplus #codeblocks
W teorii dziedziczenie wydaje się fajne, ale w praktyce jest przydługawe.
Jeżeli mam 3 klasy: kl1, kl2, kl3 , gdzie każda dziedziczy z poprzedniej i chcę skorzystać ze zmiennej X znajdującej się w klasie kl1, to muszę napisać
NazwaObiektu.kl2::kl1::X
Czy istnieją szybsze, wygodniejsze sposoby? Jak się tego używa w praktyce, za pomocą wskaźników?
W teorii dziedziczenie wydaje się fajne, ale w praktyce jest przydługawe.
Jeżeli mam 3 klasy: kl1, kl2, kl3 , gdzie każda dziedziczy z poprzedniej i chcę skorzystać ze zmiennej X znajdującej się w klasie kl1, to muszę napisać
NazwaObiektu.kl2::kl1::X
Czy istnieją szybsze, wygodniejsze sposoby? Jak się tego używa w praktyce, za pomocą wskaźników?
- Najlepsze
- Wszystkie komentarze







jeśli konstruktory kl3 nie powinny robić nic poza inicjalizacją klasy bazowej możesz napisać wewnątrz kl3:
using kl2::kl2
spowoduje to "odziedziczenie" konstruktorów klasy bazowej.
xto wystarczyNazwaObiektu.x.Gdy mam konstruktor kl1() to jest on też wykorzystywany w kl3
Jednak przy konstruktorze z argumentami kl1( int N ) ten mechanizm nie działa.
Da się to prosto obejść czy trzeba tworzyć konstruktory bazujące na poprzednich konstruktorach?
http://pastebin.com/9Ngn0fGW