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.