This book is an introduction to programming using C++. I assume that the reader has no previous programming experience. My goal is to focus on 'worked' coding examples to explain how to program. Most of what I write will be in the context of a code example. The code will always be the priority but I have also added text, pictures, screenshots, and videos that refer to the code.
These examples are called code playbacks. They animate the construction of some code that I have written. I will use them to show how a program grows from an empty file to a functioning program. I will explain the basics of C++ programming by telling the story of how programs grow. For each of the playbacks below simply click on the comments on the left hand side of the screen to move through the code.
1.1 Name printer program |
1.2 Distance formula |
1.3 Basic types in C++ |
1.4 Number types |
1.5 Characters and strings |
1.6 Weekly pay calculator |
1.7 Distance formula revisited |
1.8 Gas Mileage |
2.1 Booleans |
2.2 Even/odd calculator |
2.3 Overtime pay with an if/else |
2.4 Water temperature |
2.5 Switch |
3.1 A simple loop |
3.2 More loops |
3.3 Summation |
3.4 Nested loop |
3.5 for loop |
3.6 Capitalization |
3.7 break and continue |
4.1 Arrays |
4.2 Average and standard deviation of an array of values |
4.3 Problems with arrays |
4.4 Flipping coins |
4.5 Multi-dimensional arrays |
5.1 Functions |
5.2 Value returning functions |
5.3 Functions with parameters |
5.4 Passing parameters by reference |
5.5 The scope of variables |
5.6 Prime number function |
5.7 Passing arrays to functions |
6.1 vector |
6.2 Passing a vector to a function |
6.3 Advanced features of vectors |
6.4 Reading from a file and storing in a vector |
6.5 Linear search and binary search |
6.6 Bubble sort |
6.7 Writing to a file |
6.8 Two dimensional vectors |
7.1 Simple struct |
7.2 Hierarchical structs |
7.3 Vectors as members of structs |
7.4 structs with a vector of objects |
7.5 Calculus with structs |
8.1 Simple pointers |
8.2 Pointer to an object |
8.3 Vectors of pointers |
8.4 Arrays are pointers |
8.5 Passing data to functions with pointers |
8.6 Comparing pointers |
8.7 Three types of variables- global, local, and dynamic |
8.8 Dynamic variables example |
8.9 Dangling pointers and null pointers |
8.10 Dynamic array of students |
8.11 Function Pointers |
9.1 Simple class |
9.2 A class with data members |
9.3 A class with objects for data members |
9.4 Common word analysis |
9.5 Student and course registration system |
9.6 Inheritance and polymorphism |
9.7 Shape Inheritance Hierarchy |
9.8 Inheritance and polymorphism in C++ |
9.9 Copy Constructor Example |
10.1 Simple Linked List |
10.2 Simple Hash Table |
10.3 Hash Table |
10.4 An Example of an unordered_map (Hash Table) |
10.5 Binary Search Tree |
10.6 Graph Adjacency Matrix |
11.1 The C++ SQLite API |
11.2 An Object Oriented Auction Program |
11.3 SQLite Transactions |
12.1 Catch Test Framework for Unit Tests |
12.2 Simple Image Example |