title: For virtual functions, what happens when accessing certain methods when declared virtual and when not
body: <p>For virtual functions, what happens when accessing certain methods when declared virtual and when not.</p>
  
  <p>my idea: </p>
  
  <p>if it is virtual, the calling instance will search its virtual function table for the function, if it is a base  instance pointer that point to a derived instance, the  derived instance’s virtual function implementation will be called. If it is not a virtual function, the calling instance’s function call be called. </p>
  
  <p>Right ? </p>