Klasy->dziedziczenie->wskaźniki

0

Witam.
Mam taki problem że chciałbym jednym typem wskaźnika zrobić listę z obiektów które są różnymi klasami. Myślałem tutaj o zrobieniu klasy bazowej place oraz różnych klas pochodnych jak np. klasa: place_start, place_extra itd. Jednakże nie mam pojęcia jak zrobić żeby dzięki wskaźnikowi typu bazowego dostać się do zmiennych oraz funkcji w klasach pochodnych.
Z góry dziękuję za wskazówki ;)

0

Możemy mieć tutaj do czynienia z tzw. XY problem, ponieważ Twój opis jest dosyć zagmatwany.

Napisz to, co chcesz zrobić, a nie to, na co wpadłeś, aby to rozwiązać.

1

Za pomocą wskaźnika na klasę możesz się dostać jedynie do metod z tej klasy, w szczególności więc nie możesz się dostać do dodatkowych metod zaimplementowanych w klasie pochodnej. A to wszystko przez to, że kompilator nie wie, na co będzie kiedyś wskazywać ten wskaźnik, więc nie może wiedzieć, czy akurat się tam pojawi coś, co taką metodę posiada.

Wydaje mi się, swoją drogą, że niepotrzebnie tak kombinujesz. Co dokładnie chcesz zrobić?

0

chciałbym jednym typem wskaźnika zrobić listę z obiektów które są różnymi klasami

Nie rób tego.
https://4programmers.net/Forum/1269825

0

Jeśli naprawdę wiesz co robisz i jesteś pewien że to prawidłowe rozwiązanie (nieczęsto tak jest), to typ variant Ci pomoże.
Masz go albo w nowoczesnym kompilatorze (ma być w C++17) w nagłówkach <experimental/variant> lub w bibliotece boost.

Tu do poczytania jak działa: http://en.cppreference.com/w/cpp/utility/variant

http://www.boost.org/doc/libs/1_60_0/doc/html/variant.html

0

tu masz odpowiedź http://stackoverflow.com/questions/307765/how-do-i-check-if-an-objects-type-is-a-particular-subclass-in-c (druga odpowiedź, nie pierwsza dla Twojego przypadku)

1 użytkowników online, w tym zalogowanych: 0, gości: 1