I have read that virtual function can be inline. As we know that virtual function are decided at the run time,then how can virtual function can be inline. As far as i know that inline function calls are replaced with the body of the function at the compile time. Atleast this is what happens with macros in C. Is it that inline is different from macro and if yes how? How exactly is it implemented for virtual function.