Definitions

 

1.                  Class – A user defined type that contains data and a set of functionality to manipulate that data.

2.                  Object – an insanitation of a class. (Can be an insanitation of a struct although they are normally not referred to as such.)

3.                  Encapsulation – hiding data and implementation of functionality from the user of a class.  This allows the implementation to be changed without affecting the user of the class.

4.                  Information Hiding – similar to encapsulation, more specifically not allowing the outside world know how you are storing your data and sometimes what data is being stored. 

5.                  Interface – What a class exposes about itself.  A class is capable of having multiple interfaces, in doing so it exposes different methods and/or properties through each interface.

6.                  Data Members – variables declared in the class definition.

7.                  Member Functions – the methods of a class.  These functions can manipulate data members of a class.

8.                  Member Access Specifiers  – labels such as private: and public:.  These tags designate a which data members and/or member functions can be used given an object of that class type and which can only be used from the member functions themselves.

9.                  Utility Function – (also called helper function) “Private member function that supports the operation of a class’s public member functions”. 

10.              Constructor – member function of a class automatically called when an object is created.  If you do not define your own constructor one will be provided for you. 

11.              Default Constructor – A constructor that can be invoked with no arguments.  May be a constructor that takes parameters but has default values defined for them.  There can only be one default constructor defined per class.

12.              Destructor – member function of a class that is automatically called when an object is being destroyed.  A common misconception is that the destructor is what destroys the object.  It is just a last chance to do something while the object is being destroyed.  The signature of the destructor is  ~ClassName.

13.              Memberwise Copy – using the assignment operator (=) between two objects without having overloaded it to perform a deep copy.  Member variables from one object are assigned to the corresponding members in the other object with disregard the their data-types.  Some data-types cannot be assigned to one another of the same type with the expected results.