I'm not sure new programmers need to worry about how virtual function inheritance is implemented via the viable. Are there even standards for that? Or is that an implementation detail which seems popular across multiple compilers?
There's time for them to learn the details, but just learning that the functionality exists and knowing how to use it is a good start.