Lets assume we have 

```
class Base
{
    virtual void foo()
    {
        // some default implementation
    }
};

void bar(Base* b)
{
}

```

Is there a way to determine whether `foo` function of `b` object is overloaded from the `bar` function?