二つのfunc()が同じ事をするなら、引数が0なら渡されていないと考えていいのなら

func(){ func(0) ; }
func(const hoge & i )
{
if (i != 0) i.huga() ;
}