A C++ class capable of storing multiple data types and retain type information.