In Chapter 6 of my new book C++ for Java Programmers, I discuss the virtual/non-virtual distinction in method binding in C++. A copy of this chapter can be found in the slide material for Chapter 10.