dynamic cast
🧩 Syntax:
#include <iostream>
using namespace std;
class Animal {
public:
virtual ~Animal() = default;
};
class Dog : public Animal {
public:
void bark() { std::cout << "Woof!\n"; }
};
class Cat : public Animal {
public:
void meow() { std::cout << "Meow!\n"; }
};
int main() {
Animal* animal = new Dog();
// Check if it's a Dog
if (dynamic_cast<Dog*>(animal)) {
cout<< "It's a dog!\n";
}
delete animal;
return 0;
}