C++ Lab 01 - Basic Program Structure
- Introduction to Text Editors (Emacs in our case)
- Introduction to the Command Line
- Basic Structure of a C++ Program
- Building and Running a C++ Program from the Command Line
C++ Lab 02 - Command Line Arguments and Strings
- Variables, Operators and Control Structures
- Handling C++ Command Line Arguments
- Strings and Basic String Functions
- Simple C/C++ functions
- Parameter Passing and Return Values
- Default Parameters
- Pass by Reference vs. Pass by Value
- Forward Declared Functions and Functions in Separate Files
C++ Lab 04 - File I/O, Arrays and Vectors
- C-Style Arrays
- C-Style File Input and Formatted Output
- C++ Vectors
C++ Lab 05 - C Structures and C++ Classes
- C-Style Structures
- Simple C++ Classes and Encapsulated Variables and Methods
- Complex C++ Classes (Class Containing Other Classes)
- Generating Random Numbers and Seeding a Random Number Generator
C++ Lab 06 - Serialization and Deserialization of C++ Classes
- String Parsing I - Finding a Character Within a String and Generating a Substring from Another String
- String Parsing II - Biting a String from the Front of Another String
- String Parsing III - Parsing a String into a Vector of Strings
- A General Deserializing Algorithm
- Re-constructing Class Instances from Deserialized Strings from a File
C++ Lab 07 - Introduction to C++ Build Systems
- The Relationship between Compiling and Linking in the Build Process
- Basic Source Code Project Management
- The Construction of Archive Libraries for Holding Code Common to Multiple Apps
- An Introduction to Makefiles to Simplify and Quicken the Build Process
- A Discussion of Cross-Platform Build Tools such as CMake
C++ Lab 08 - Class Inheritance in C++
- C++ Subclasses
- Polymorphism
- Encapsulation
- Function Overloading
- Virtual Functions