exam1 Topics --------------------------------- Visual Studio: + Project creation + Building + Debugging * Step over * Step in * Step out * Breakpoints * Call Stack Review ----------- 1.4 Object-Oriented Programming Three OOP Principles 1.4 Classes and objects Constructors (including default and copy) & destructors + Initializer lists + Shallow vs. deep copies 1.4 C++ namespace 1.4 Preprocessor/compiler directives + #ifndef + #define + #endif + #include + Include guards 1.5.1 Pointers 1.5.1 Dynamic data + 3 things that new does + Memory allocation: stack vs. heap 1.5.1 Multidimensional arrays 1.5.2 References 1.5.3 Parameter Passing 1.5.3 Default parameters 1.5.4 Return Passing 1.5.5 std::swap and std::move 1.5.6 The Big Five 1.5.7 C-style Strings 1.5 Function overloading 1.6.1 Function Templates 1.6.2 Class Templates 1.6.3 Overloaded Operators 1.6.3 C++ Friends 1.6.4 Function Objects / Passing functions as arguments 1.6.5 Class Templates 1.7 Matrices 3.1 Abstract Data Types (ADTs) 3.2 List Abstract Data Type (ADT) 3 Implementations of List ADT using Classes 3 ADT Sorted List Inheritance + public + private + Is-a, As-a relationships + Rules of inheritance Virtual methods & late binding + Polymorphism + Pure virtual methods + Virtual function table (VFT) + Abstract base classes + Essential ingredients for polymorphism 3.3-3.7 C++ Standard Template Library (STL) STL Container classes STL Iterators STL Algorithms