Login using Name and Password at the top of the page to be able to download all the files.

Suggested video viewing order

Download C++ Programming Video Tutorials

The VMK in this section cover many topics related to C++ programming. If you want to be serious about programming in C++, you should fully understand each of the topics covered here. Send me an email message if you have suggestions for additional topics that could be covered in these videos.
47 Files11 hr 26 min
1

Number Systems

9.0 MB
9.0
9.0
22 min
In this VMK I show you how number systems work. I describe the decimal, binary and hexadecimal number systems in detail. At the end, I show you how to use Visual C++ to view decimal (integers) and hexadecimal numbers.
You must login to
download this file
2

Computer Logic

10.4 MB
10.4
10.4
19 min
I describe how to write a program that can make decisions. I demonstrate the use of the if-else structure and then the AND, OR, NOT, bitwise OR and bitwise AND are described and used.
You must login to
download this file
3

Switch and Enum Keywords

5.6 MB
5.6
5.6
9 min
You can make your code more readable by replacing if-else statements with switches working from enumerated variables. This VMK shows you how to do just that.
You must login to
download this file
4

Looping Structures

7.4 MB
7.4
7.4
17 min
I show you how to use the while and the for loop in this VMK so that you can perform repeated tasks in your programs. Near the end I also describe how random numbers work in C++.
You must login to
download this file
5

Data Types

13.7 MB
13.7
13.7
31 min
A number of commonly used C++ data types are described in this VMK. I discuss the int, float, double, and char types. After that, I describe how to use arrays and how they work a little differently with the char data type to make strings. We group data types into struct's and lastly I show you how to use a union.
You must login to
download this file
6

Dynamic Memory and Variable Scope

6.9 MB
6.9
6.9
15 min
I describe the important concept of variable scope in this VMK. I also show you how to use, create and delete dynamic memory in C++.
You must login to
download this file
7

Functions

10.2 MB
10.2
10.2
23 min
This VMK is all about functions and how to use them. I demonstrate how to pass variables into functions and how to get values back. I explain the difference between passing variables by value, and passing variables by reference. I show you how to use a function to return multiple values to you and I describe how you can use functions with pointers and array's of variables.
You must login to
download this file
8

Libraries and Projects

6.8 MB
6.8
6.8
13 min
I show you how to setup a visual studio solution to contain multiple projects. One project contains the main() entry point and the other is a static library which we link to. I also show how build order dependence plays a role when using multiple projects in a solution.
You must login to
download this file
9a

Struct vs Class

6.9 MB
6.9
6.9
14 min
The differences between a struct and a class are described in this VMK. I also go onto show how to use public and private functions and variables within a class and how to use a class constructor.
You must login to
download this file
9b

Static Variables and Functions

5.2 MB
5.2
5.2
11 min
I demonstrate how to use static variables and static functions inside of a class.
You must login to
download this file
9c

Class Inheritance

12.0 MB
12.0
12.0
19 min
I show you how to use a very powerful object oriented technique called inheritance in this VMK. Public, private and protected functions and variables are used and virtual functions are explained.
You must login to
download this file
9d

Copy Constructor

10.8 MB
10.8
10.8
18 min
When using dynamic memory inside of classes you will need to create a copy constructor to copy one class's values to another. In this VMK I show you why you need copy constructors and how to make them
You must login to
download this file
10a

Standard Template Library Part 1/2

7.6 MB
7.6
7.6
15 min
This is a two part VMK on STL. The first part shows you how to use std::vector and some of it's common functions
You must login to
download this file
10b

Standard Template Library Part 2/2

5.2 MB
5.2
5.2
12 min
This is a two part VMK on STL. This second part shows you how to use std::string and std::map
You must login to
download this file
11

File Handling

11.0 MB
11.0
11.0
21 min
In this VMK I show you how to work with ascii (text) files to read data in and write data out to a file. I show you how to setup Visual Studio and how to read in a bunch of data into one variable, or parse input into individual variables like integers, strings or floating point numbers.
You must login to
download this file
12

Install VC 2005 Express with PSDK

12.2 MB
12.2
12.2
17 min
I show you how to download and install the free Visual C++ 2005 Express compiler from Microsoft. I also show you how to download and install the Platform SDK required if you want to use this compiler to follow along with the game development VMK's or if you want to do any windows type programming.
You must login to
download this file
13

Visual C++ Debugger

17.4 MB
17.4
17.4
32 min
In this VMK you will learn how to use the Visual C++ Debugger. I show you how to create breakpoints (always break and conditional). I show you how to watch your variables and how to change them while your program is running. We also trace through the program flow by using the calling stack. At the end I also show you how you can comment your code so that software development is a little easier.
You must login to
download this file
14

Templates

14.4 MB
14.4
14.4
19 min
In this video I explain the benefits of using templates in C++. I demonstrate how to template a function and also how to template a class.
You must login to
download this file
15

Threads

18.9 MB
18.9
18.9
37 min
I start by showing how to create a 2nd thread and how to pass data to and from it. A Mutex is used to monitor when a thread is finished and a Critical Section is used to protect data shared between threads. Finally I show how to use a thread inside a class.
You must login to
download this file
16

Random Numbers

9.2 MB
9.2
9.2
13 min
In this video I describe how random numbers work in C++. How you can create a range of random numbers, and also what things you should look out for if you truly want a set of random numbers.
You must login to
download this file
17a

zLib Compression Part 1/2

23.0 MB
23.0
23.0
 
Data compression is discussed in this VMK. By the end of the video you will see how to compress and uncompress data using the zlib library.
You must login to
download this file
17b

zLib Compression Part 2/2

20.2 MB
20.2
20.2
39 min
Data compression is discussed in this VMK. By the end of the video you will see how to compress and uncompress data using the zlib library.
You must login to
download this file
18

Coding Style

11.7 MB
11.7
11.7
19 min
In this video I speak about the C++ coding style that I\'m going to try to stick to from this day forward.
You must login to
download this file
19a

3rd Party AddOn Tools Part 1/2

17.4 MB
17.4
17.4
 
If you are using Visual Studio 2010 Professional, you can install AddIn tools to extend the functionality of your development environment. In this VMK I demonstrate the tools that I use when programming in C++.
You must login to
download this file
19b

3rd Party AddOn Tools Part 2/2

17.0 MB
17.0
17.0
12 min
If you are using Visual Studio 2010 Professional, you can install AddIn tools to extend the functionality of your development environment. In this VMK I demonstrate the tools that I use when programming in C++.
You must login to
download this file
20p1

Unique Pointers Part 1/2

26.0 MB
26.0
26.0
 
Unique pointers are very handy in VC++ 2010. They let you manage your dynamic memory in a smart way making sure that memory is deallocated when your pointers go out of scope.
You must login to
download this file
20p2

Unique Pointers Part 2/2

25.4 MB
25.4
25.4
26 min
Unique pointers are very handy in VC++ 2010. They let you manage your dynamic memory in a smart way making sure that memory is deallocated when your pointers go out of scope.
You must login to
download this file
21p1

Explicit Constructors Part 1/3

20.0 MB
20.0
20.0
 
In this video I explain when you should be using explicit constructors. I demonstrate what will happen if you do not use them, and I also show when you should not use explicit constructors.
You must login to
download this file
21p2

Explicit Constructors Part 2/3

20.0 MB
20.0
20.0
 
In this video I explain when you should be using explicit constructors. I demonstrate what will happen if you do not use them, and I also show when you should not use explicit constructors.
You must login to
download this file
21p3

Explicit Constructors Part 3/3

17.1 MB
17.1
17.1
27 min
In this video I explain when you should be using explicit constructors. I demonstrate what will happen if you do not use them, and I also show when you should not use explicit constructors.
You must login to
download this file
22

i++ vs ++i

26.4 MB
26.4
26.4
13 min
I show the differences between using postfix (i++) operators as opposed to using prefix (++i) operators. It is especially important to choose the correct operator when working with looping structures like for loops.
You must login to
download this file
23p1

Bit Fields Part 1/3

20.0 MB
20.0
20.0
 
In this video I describe how to use bit fields in C++. I demonstrate how the compiler packs bits together and I point out the pit falls that people can fall into when using bit fields.
You must login to
download this file
23p2

Bit Fields Part 2/3

20.0 MB
20.0
20.0
 
In this video I describe how to use bit fields in C++. I demonstrate how the compiler packs bits together and I point out the pit falls that people can fall into when using bit fields.
You must login to
download this file
23p3

Bit Fields Part 3/3

17.7 MB
17.7
17.7
33 min
In this video I describe how to use bit fields in C++. I demonstrate how the compiler packs bits together and I point out the pit falls that people can fall into when using bit fields.
You must login to
download this file
24p1

PNG Loader Part 1/4

29.0 MB
29.0
29.0
 
In this video I show how to download, install, and use the libpng library to work with images encoded in the png file format. By the end of this video you should be able to load and parse any png file in your own projects.
You must login to
download this file
24p2

PNG Loader Part 2/4

29.0 MB
29.0
29.0
 
In this video I show how to download, install, and use the libpng library to work with images encoded in the png file format. By the end of this video you should be able to load and parse any png file in your own projects.
You must login to
download this file
24p3

PNG Loader Part 3/4

29.0 MB
29.0
29.0
 
In this video I show how to download, install, and use the libpng library to work with images encoded in the png file format. By the end of this video you should be able to load and parse any png file in your own projects.
You must login to
download this file
24p4

PNG Loader Part 4/4

24.3 MB
24.3
24.3
49 min
In this video I show how to download, install, and use the libpng library to work with images encoded in the png file format. By the end of this video you should be able to load and parse any png file in your own projects.
You must login to
download this file
25p1

Exceptions Part 1/6

28.5 MB
28.5
28.5
 
In this VMK I introduce how to use C++ exceptions. We explore how to write try and catch statements, how to throw values and classes, and I demonstrate the differences between throwing from a function and throwing from a class.
You must login to
download this file
25p2

Exceptions Part 2/6

28.5 MB
28.5
28.5
 
In this VMK I introduce how to use C++ exceptions. We explore how to write try and catch statements, how to throw values and classes, and I demonstrate the differences between throwing from a function and throwing from a class.
You must login to
download this file
25p3

Exceptions Part 3/6

28.5 MB
28.5
28.5
 
In this VMK I introduce how to use C++ exceptions. We explore how to write try and catch statements, how to throw values and classes, and I demonstrate the differences between throwing from a function and throwing from a class.
You must login to
download this file
25p4

Exceptions Part 4/6

28.5 MB
28.5
28.5
 
In this VMK I introduce how to use C++ exceptions. We explore how to write try and catch statements, how to throw values and classes, and I demonstrate the differences between throwing from a function and throwing from a class.
You must login to
download this file
25p5

Exceptions Part 5/6

28.5 MB
28.5
28.5
 
In this VMK I introduce how to use C++ exceptions. We explore how to write try and catch statements, how to throw values and classes, and I demonstrate the differences between throwing from a function and throwing from a class.
You must login to
download this file
25p6

Exceptions Part 6/6

17.4 MB
17.4
17.4
48 min
In this VMK I introduce how to use C++ exceptions. We explore how to write try and catch statements, how to throw values and classes, and I demonstrate the differences between throwing from a function and throwing from a class.
You must login to
download this file
26p1

Console Colors Part 1/2

24.0 MB
24.0
24.0
 
Using the Windows API, I demonstrate how to change the foreground and background color of text, how to control the placement of text in the window and how to change the title.
You must login to
download this file
26p2

Console Colors Part 2/2

23.0 MB
23.0
23.0
29 min
Using the Windows API, I demonstrate how to change the foreground and background color of text, how to control the placement of text in the window and how to change the title.
You must login to
download this file
27

Virtual Destructor

14.2 MB
14.2
14.2
 
This video shows you why virtual destructors are important and when you need to use them when writing code.
You must login to
download this file