| Term | Definition |
| class | an expanded concept of a data structure that holds both data and functions |
| object | an instantiation of a class |
| class class_name { access_specifier1: member1; access_specifier2: member2...} object_names; | declaration of a class |
| private, protected, public | access specifiers |
| private | members of a class that are accessible only from within other members of the same class or their friends |
| protected | members of a class that from members of their same class and from their friends, but also from friends of their derived classes |
| public | members of a class that are accessible from anywhere where the object is visible |
| :: | scope operator |
| scope operator | used to define a member of a class from outside the class definition itself |
| constructor | a special function that is called whenever a new object is created |
| class_name (parameter1, parameter2, ...) {statements} | constructor declaration |
| destructor | a special function that is called whenever a new object is destroyed,either because its scope of existence has finished (for example, if it was defined as a local object within a function and the function ends) or because it is an object dynamically assigned and it is released using the operator delete. |
| ~class_name (parameter1, parameter2, ...) {statements} | destructor declaration |
| type class_name::function_name (parameter1, parameter2, ...) {statements} | definiton of a member function outside of the class definition |
| default constructor | the constructor that compiler assumes to exist prior to a constructor being defined |
| default destructor | the destructor that compiler assumes to exist prior to a constructor being defined |
| copy constructor/copy assingment operator | copies all the data contained in another object to the data members of the current object |
| overloaded constructor | constructors with the same name and different types or numbers of parameters |