#include <iostream>
using namespace std;
#include <cstdio>
class BaseClass
{
public:
void func(int a){puts("BaseClass::func(int)");};
void func(int a, int b){puts("BaseClass::func(int, int)");};
void func(int a, int b, int c){puts("BaseClass::func(int, int, int)");};
//...
};
class DerivedClass : public BaseClass
{
public:
void func(int a){puts("DerivedClass::func(int)");}
//...
};
int main()
{
DerivedClass obj;
obj.func(0);
obj.BaseClass::func(0,0);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKI2luY2x1ZGUgPGNzdGRpbz4KCmNsYXNzIEJhc2VDbGFzcwp7CiAgICBwdWJsaWM6CiAgICAgICAgdm9pZCBmdW5jKGludCBhKXtwdXRzKCJCYXNlQ2xhc3M6OmZ1bmMoaW50KSIpO307CiAgICAgICAgdm9pZCBmdW5jKGludCBhLCBpbnQgYil7cHV0cygiQmFzZUNsYXNzOjpmdW5jKGludCwgaW50KSIpO307CiAgICAgICAgdm9pZCBmdW5jKGludCBhLCBpbnQgYiwgaW50IGMpe3B1dHMoIkJhc2VDbGFzczo6ZnVuYyhpbnQsIGludCwgaW50KSIpO307CiAgICAgICAgLy8uLi4KfTsKCmNsYXNzIERlcml2ZWRDbGFzcyA6IHB1YmxpYyBCYXNlQ2xhc3MKewogICAgcHVibGljOiAgICAgICAgCiAgICAgICAgdm9pZCBmdW5jKGludCBhKXtwdXRzKCJEZXJpdmVkQ2xhc3M6OmZ1bmMoaW50KSIpO30KICAgICAgICAvLy4uLiAgICAgICAgICAgICAKfTsKCmludCBtYWluKCkKeyAgICAgICAgICAgCiAgICBEZXJpdmVkQ2xhc3Mgb2JqOwogICAgb2JqLmZ1bmMoMCk7CiAgICBvYmouQmFzZUNsYXNzOjpmdW5jKDAsMCk7CiAgICAKICAgIHJldHVybiAwOwp9