@ Swizzler: do you know what the virtual keyword does in the first place?
It lets the compiler know it needs to create a virtual table for the function(s) you mark. This has to do with polymorphism -- the ability to use a common base class as if it was any of its derived classes -- which is an abstraction meant to help you design your program.
So you only need to use virtual when you need it. In your case, by adding it, your example_one class has a virtual table that you don't need.