Poniższy kod wyjaśnia problem. Wypełnij ten sam_sub_class, aby wykryć, czy dwa wskaźniki do wirtualnej klasy bazowej A są w rzeczywistości tą samą konkretną klasą .W języku C++ sprawdź, czy dwie instancje klasy bazowej znajdują się w tej samej podklasie.
struct A {
...
}:
struct B : public A {
...
}:
struct C : public A {
...
}
bool same_sub_class(A * a1, A * a2){
// Fill this in to return true if a1 and a2 are
// of the same concrete class
}
EDIT:
Jak patrzę na mojego wniosku muszę coś nieco inny od powyższego. Muszę być w stanie grupować instancje według ich id_typu.
FYI. Mam mini symboliczny system algerbry, więc aby robić manipulacje ważne jest, aby znać typ klasy czasami do sortowania i przestawiania wyrażeń.
Tak dany wektor wskaźników do przykładu, jak pogrupować je według ich id_wp. Będę musiał albo móc mieszać typ_id lub generować unikalną liczbę całkowitą dla każdej klasy.
brzmi jak to, czego naprawdę potrzebujesz, to statyczna int dla każdej klasy, według której chcesz sortować? –