Hey, wszystkim. Mam banalny problem. Ćwiczę C++, czytam Symfonię ale nie znalazłem odpowiedzi na jedno nurtujące mnie pytanie.
Jeżeli klasa B dziedziczy po A, to mamy dostęp z klasy B do pól klasy A i nie ma problemu. Pan Grębosz natomiast napisał że dziedziczenia używamy, jeżeli chcemy jakąś klasę rozszerzyć (jakby ukonkretniamy jej dzieci - Samochód->Osobowy->Volvo). Natomiast gdy mamy taką sytuację jak ja, to umieszczamy wskaźnik do obiektu jako pole klasy. A więc aby wyjaśnić dokładnie o co mi chodzi. Mam taką sytuację
class A{
int pole;
B*b;
}
class B : public C {
}
Klasa A to jest jakby okno główne programu, natomiast B to jakiś element tego okna, np. element interfejsu, ramka w oknie, cokolwiek. Niestety jest tak że potrzebuję móc z klasy B odwołać się do pola "pole" klasy A aby wartości z tego pola użyć. Najprostszym rozwiązaniem jest przekazanie wskaźnika klasy A do klasy B (np. w konstruktorze albo jakąś metodą). Wydaje mi się jednak to mało "eleganckie" i przy kilkunastu takich klasach będzie to raczej mało efektywne. Dodam jeszcze że klasa B dziedziczy po jeszcze innej klasie, więc dziedziczenie po A odpada. Jak najlepiej rozwiązać ten problem? Pozdrawiam