Special member functions in C++ are functions which the compiler will automatically generate if they are used, but not declared explicitly by the programmer.The automatically generated special member functions are:
In these cases the compiler generated versions of these functions perform a memberwise operation. For example, the compiler generated destructor will destroy each sub-object of the object.
The compiler generated functions will be public, non-virtual and the copy constructor and assignment operators will receive const& parameters.