Example 1 (Non Virtual, No Pointers) 

Example 2 (Non Virtual, Pointers)
Example 3 (Virtual, No Pointers)
Example 4 (Virtual, Pointers)