#include <cstdio>
class base
{
};
class deriv : base
{
public:
void f(deriv, int){printf("deriv::f(deriv, int)\n");}
void f(base){printf("deriv::f(base)\n");}
void test() {f(*this);}
};
int main()
{
deriv d;
d.test();
}
I2luY2x1ZGUgPGNzdGRpbz4KCmNsYXNzIGJhc2UKewp9OwoKY2xhc3MgZGVyaXYgOiBiYXNlCnsKICBwdWJsaWM6CiAgdm9pZCBmKGRlcml2LCBpbnQpe3ByaW50ZigiZGVyaXY6OmYoZGVyaXYsIGludClcbiIpO30KICB2b2lkIGYoYmFzZSl7cHJpbnRmKCJkZXJpdjo6ZihiYXNlKVxuIik7fQogIAogIHZvaWQgdGVzdCgpIHtmKCp0aGlzKTt9Cn07CgppbnQgbWFpbigpCnsKICBkZXJpdiBkOwogIGQudGVzdCgpOwp9