Upcasting
Notice that when we have a pointer to an account
object and we initialize or assign it to the address of a
student or checking object, that we are still actually
pointing to the student or checking object.
This is the only time in C++ when it is allowed to
assign a pointer of one type to another without an
explicit cast operation.
This is because a pointer
     to a derived class object
     points to a direct or
     indirect base class object
     as well!