Default & Copy Constructors
All class definitions should include both a default and a copy constructor.
The default constructor does not take any arguments.
Used to initialize object data fields when no other arguments are specified.
A copy constructor takes an instance of the same class as a constant reference argument.
Used internally passed-by-value parameter passing method.