Notes 2 - C++ OOP review
Classes
class ClassName {
  private:
    int memberVar;
  public:
    ClassName();         // default constr.
    ClassName(int);      // constr. w/ arg
    ~ClassName();        // destructor
   
    int getMemberVar();   // accessor func.
    bool setMemberVar(const int);  // mutator func.
    void inputData();// driver func.
    void displayData() const;// driver func.
};
...
ClassName obj1;
ClassName obj2(987);
ClassName* obj3 = new ClassName();
delete obj3;
    
Dynamic Member Variables
class ClassName {
  private:
    dataType*  dynMemberVar;
    unsigned int capacity; // capacity for dynMemberVar
    unsigned int count;    // current count of elements within dynMemberVar
  ...
};
- Default Constructor()
 
- Copy (Constructor)
 
- ~Destructor()
 
- Memberwise Assignment =
 
- Overloading the assignment operator
 
- Overloading comparison and arithmetic operators
 
- *this
 
- Segmentation Fault: Undefined Behaviour
 
- Memory Leak: unfreed memory, loss of reference
 
- Dangling Pointer: accessing memory that has already been freed
 
GDB