BSTTemplate.cpp
: Template file for a Binary Search Tree with add/delete and print functions.
LLTemplate.cpp
: Template file for a Linked List with add/remove and print functions.
LLnoTemplate.cpp
: Same as previous Linked List but without templating the classes.
SmartPointers.cpp
: Unique, shared, and weak smart pointer examples.
marriage.cpp
: Demonstration of objects with pointers to each other.
overloading.cpp
: Demonstration of operator overloading ==, +=, -, <<, >>, [], ++(pre/post).
LLandBSTtraversal.cpp
: Comparison between contents of a BST and LL with a recursive function that goes through both simultaneously.
polymorphism.cpp
: Dynamic binding of function in an Animal class and child classes.
BaseDerived.cpp
: Shows another type of polymorphism called slicing where a derived class loses its functions when declared as a base object.
BaseDerivedPointers.cpp
: Shows how slicing does NOT happen when we replicate the situation above with pointers to objects instead of just objects.
encapsulation.cpp
: Example of a bank account with credit card and debit card classes accessing its protected members.
HugeInt.cpp
: Shows file reading and writing by taking in a huge int (much larger than C++ can handle) and storing it in a Linked List for addition with another.
TypeDef.cpp
: Using typedef in replacement of long declarations (instead of vector<vector<vector>>).
TypeDefFunctions.cpp
: Using typedef to insert functions into a vector and iterate through them like elements.