Mam klasę abstrakcyjną:
class Pet
{
public: virtual void sayHello();
};
Oraz klasę pochodną:
class Dog : public Pet
{
void sayHello()
{
std::cout<<"Hello";
}
};
class Cat: public Pet
{
void sayHello()
{
std::cout<<"meh";
}
};
Oraz mam wektor wskaźników na klasę abstrakcyjną:
Dog dog;
Cat cat;
std::vector<Pet*> pets;
pets.push_front(&dog);
pets.push_front(&cat);
Czy jest jakiś sposób aby porównać czy element wektora jest np. klasy Dog? Coś w ten deseń:
if(pets[1] == Dog)
//Ten konkretny przyklad powoduje blad "C++ type name is not allowed"
//if(<element wektora> == <klasa pochodna>