Special member functions (C++ only)
The default constructors, destructors, copy constructors, and copy assignment operators are special member functions. These functions create, destroy, convert, initialize, and copy class objects.
A special member function is user-provided if it is user-declared but not explicitly defaulted, or deleted on its first declaration.