Vector składający się z pól różnych typów

0

Czy da się zrobić coś takiego? Mam wirtualną klasę bazową i ileś klas dziedziczących. Chciałbym stworzyć wektor, który będzie mógł składać się z obiektów klas pochodnych, a z tego co widzę przy deklaracji wektora podaje się typ danych, który wektor ma obsługiwać, a w tym przypadku będzie to więcej niż 1 typ. Jeśli nie to czego użyć?

1

Skoro używasz polimorfizmu, to powinieneś wiedzieć, że na typy pochodne możesz wskazywać wskaźnikiem (lub referencją) na typ bazowy. Twój vector będzie więc wyglądać tak: std::vector<TypBazowy *>

2

Wtedy używasz vectora wskaźników na klasę bazową, lub gdy używasz C++11 vector<unique_ptr<Base>> (lub oczywiście shared_ptr, jak własność obiektów ma być dzielona).

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