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