← Каталог
RTTI в C++ — typeid и dynamic_cast — typeid
Фрагмент из «RTTI в C++ — typeid и dynamic_cast»: typeid.
#include <typeinfo>
#include <iostream>
class Base {
public:
virtual ~Base() = default;
};
class Derived : public Base {};
void print_type(const Base& obj) {
const std::type_info& ti = typeid(obj);
std::cout << ti.name() << '\n';
}
int main() {
Derived d;
print_type(d);
std::cout << (typeid(d) == typeid(Derived)) << '\n';
} #include <typeinfo>
#include <iostream>
class Base {
public:
virtual ~Base() = default;
};
class Derived : public Base {};
void print_type(const Base& obj) {
const std::type_info& ti = typeid(obj);
std::cout << ti.name() << '\n';
}
int main() {
Derived d;
print_type(d);
std::cout << (typeid(d) == typeid(Derived)) << '\n';
}