RTTIとは,Run-Time Type Info のことで,実行時にその変数が何の型なのかという情報です.
で,C++である変数が実際何型なのかを調べたいときには,typeidキーワードを利用します.
class Person{…}; class Japanese:public Person{…}; class Chinese:public Person{…};
なとき,
int main(){ Person *p=new Japanese(); Person *q=new Chinese(); }
とすると,pもqも元は何型なのかわからなくなりますが,
int main(){ Person *p=new Japanese(); Person *q=new Chinese(); std::cout << "pは" << typeid(p) < std::endl; std::cout << "qは" << typeid(p) < std::endl; }
とすることで,それぞれが何型のインスタンスなのかがわかるらしい.