#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)");}
        using BaseClass::func;
        //...             
};

int main()
{           
    DerivedClass obj;
    obj.func(0);
    obj.func(0,0);

    return 0;
}