In C++03 there are 4: Default constructor: Declared only if no user-defined constructor is declared. Defined when used Copy constructor - declared only if the user hasn't declared one. Defined if used Copy-assignment operator same as above Destructor same as above
In C++11 there are two more: •Move constructor •Move-assignment operator