Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Advanced C++ Tutorial
Exceptions
Exceptions Basics (13:56)
Standard Exceptions (7:06)
Custom Exceptions (7:41)
Exception Catching Order (7:23)
Files
Writing Text Files (6:35)
Reading Text Files (7:08)
Parsing Text Files (12:12)
Structs and Binary Data (7:59)
Reading and Writing Binary Files (13:09)
The Standard Template Library
Vectors: Resizable Arrays (10:57)
Vectors and Memory (13:36)
Two Dimensional Vectors (7:26)
Lists (12:53)
Maps (13:48)
Custom Objects as Map Values (8:44)
Custom Objects as Map Keys (14:02)
Multimaps (10:53)
Sets (15:20)
Stacks and Queues (16:48)
Sorting Vectors, Deque and Friend (10:23)
STL Complex Data Types (6:32)
Operator Overloading
Overloading the Assignment Operator (16:04)
Printing - Overloading Left Bit Shift (11:21)
A Complex Number Class (17:44)
Overloading Plus (11:52)
Overloading Equality Tests (6:48)
Overloading the Dereference Operator (6:04)
Template Classes and Functions
Templates - An Important Note (4:01)
Template Functions (4:21)
Template Functions and Type Inference (6:37)
Template Classes (8:27)
Passing Functions to Functions
Function Pointers (9:55)
Using Function Pointers (8:11)
Object Slicing and Polymorphism (11:56)
Abstract Classes and Pure Virtual Functions (12:17)
Functors (14:19)
C++ 11's Amazing New Features
Decltype, Typeid and Name Mangling (10:40)
The auto Keyword (8:30)
Range-Based for Loops (6:00)
Nested Template Classes (15:10)
A Ring Buffer Class (9:55)
Making Classes Iterable (13:38)
C++ Initialization in C++ 98 (6:38)
Initialization in C++ 11 (11:09)
Initializer Lists (6:25)
Object Initialization, Default and Delete (10:11)
Introducing Lambda Expressions (8:28)
Lambda Parameters and Return Types (9:10)
Lambda Capture Expressions (8:23)
Capturing this With Lambdas (4:48)
The Standard Function Type (12:25)
Mutable Lambdas (1:31)
Delegating Constructors (6:11)
Elision and Optimization (10:06)
Constructors and Memory (8:07)
Rvalues and LValues (7:22)
LValue References (5:31)
Rvalue References (6:24)
Move Constructors (5:07)
Move Assignment Operators (5:53)
Static Casts (10:32)
Dynamic Cast (4:50)
Reinterpret Cast (3:18)
Perfect Forwarding (8:13)
Bind (16:16)
Unique Pointers (12:10)
Shared Pointers (7:40)
Overview of GUI Frameworks (11:16)
A Project: Drawing Fractal Images
Fractal Creator Hello World (4:41)
Source Code
Bitmap File Headers (10:51)
Bitmap Info Headers (5:23)
A Bitmap Class (8:47)
Bitmap Memory (8:13)
Bitmap Header Values (6:58)
Writing a Bitmap (11:08)
Setting Bitmap Pixels (11:09)
Scaling (9:48)
A Mandelbrot Class (5:35)
The Fractal Algorithm (16:45)
Improving the Image (6:11)
The Colour Histogram (7:04)
Validating the Histogram (6:22)
Eliminating Max Iterations (3:18)
Storing the Iterations (2:52)
Using the Histogram (9:17)
Colour Transforms (4:04)
A Zoom Class (5:30)
The Zoom List Class (7:45)
Centering and Scaling (11:01)
Applying the Zoom (5:40)
Zooming In (4:27)
Reorganising Main (6:12)
Implementing FractalCreator (14:13)
An RGB Class (10:13)
Using the RGB Class (6:24)
Specifying Color Ranges (8:01)
Calculating Range Totals (11:34)
Checking the Range Totals (2:46)
Getting the Pixel Range (Updated) (11:23)
Range-Based Coloring (7:54)
More Exercises (6:14)
Reading and Writing Binary Files (13:09)
Bonus Videos!
Multiple Inheritance (6:13)
Teach online with
The Fractal Algorithm
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock