#include <iostream>
using namespace std;
class figure
{
};
class Pawn : public figure
{
};
void value(figure fi)
{
cout << "val typeid check: " << (typeid(fi) == typeid(Pawn)) << endl;
}
void refer(figure& fi)
{
cout << "ref typeid check: " << (typeid(fi) == typeid(Pawn)) << endl;
}
int main()
{
Pawn p;
value(p);
refer(p);
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmNsYXNzIGZpZ3VyZQp7Cn07CgpjbGFzcyBQYXduIDogcHVibGljIGZpZ3VyZQp7Cn07Cgp2b2lkIHZhbHVlKGZpZ3VyZSBmaSkKewogICAgY291dCA8PCAidmFsIHR5cGVpZCBjaGVjazogIiA8PCAodHlwZWlkKGZpKSA9PSB0eXBlaWQoUGF3bikpIDw8IGVuZGw7Cn0KCnZvaWQgcmVmZXIoZmlndXJlJiBmaSkKewogICAgY291dCA8PCAicmVmIHR5cGVpZCBjaGVjazogIiA8PCAodHlwZWlkKGZpKSA9PSB0eXBlaWQoUGF3bikpIDw8IGVuZGw7Cn0KCmludCBtYWluKCkKewogICAgUGF3biBwOwogICAgdmFsdWUocCk7CiAgICByZWZlcihwKTsKfQoK