Well, this is an interesting question, but let me try to answer it very methodically!
let the compiler have to resolve the call as follows: *
a-> SomeFunc ();
*.
.
1.) -, a, , a (lets call this, class A for time being) someFunc() . class A, A, , public.
2.) -, A, , ( ). overloading resolution. , , . , someFunc() s someFunc() ( ).
3.) . , someFunc(), , A (lets call this class AA and needless to say it is some subclass of A), a ( A) AA ( ++ ). , someFunc() virtual, (.. A) someFunc() (A) A ( AA, A AA), someFunc() .
, , , AA . , AA , A, A A 1 !!!, , , someFunc() AA ( A AA), . , ( , ) , ( ) someFunc(), A AA. , . , .
: " ", ?... . , , , , Virtual Table . , ( ) . . A AA . someFunc() AA ( , a AA), AA. .
Avid