Why is it possible to call a non-static method with static syntax , is it only for inherited classes ?



Base::func() //virtual function
{

..

}

Derived:func() //Base is the parent
{
if(//something)
//do something

else
Base::func(); //call the base class version

}