A copy assignment operator of class T is a non-template non-static member function with the name operator= that takes exactly one parameter of type T, T&, const T&, volatile T&, or const volatile T&. For a type to be CopyAssignable, it must have a public copy assignment operator.
Syntax
class_name & class_name :: operator= ( class_name ) (1) class_name & class_name :: operator= ( const class_name & ) (2) class_name & class_name :: operator= ( cons