special member function
methods related to object lifetime that C++ treats specially
destructor
special method in object-oriented programming which is called deterministically to perform cleanup just before the object is deallocated
constructor
special method used for initializing a newly allocated object in object-oriented programming