Operator overloading and auxiliary constructors.