Learn Advanced C Programming

Discover intermediate to advanced C++, including C++ 11’s fantastic additions to the C++ standard.
Learn Advanced C Programming
File Size :
6.23 GB
Total length :
15h 11m



John Purcell


Last update

Last updated 6/2022



Learn Advanced C Programming

What you’ll learn

Develop complex C++ applications
Understand C++ 11
Be in a position to apply for jobs requiring good C++ knowledge

Learn Advanced C Programming

Learn Advanced C Programming-screenshot


You will need a grasp of basic C++, together with a C++ compiler.


This course will take you from a basic knowledge of C++ to using more advanced features of the language. This course is for you if you want to deepen your basic knowledge of C++, you want to learn C++ 11 features, or you’ve taken my free beginners’ C++ course and you’re looking for the next step.We’ll start with a look at C++ file handling and move through STL, template classes, operator overloading, lambda expressions, move constructors and much more besides.At the end of the course I’ll show you how to create a program that generates fractal images, using a a few of the language features we’ve seen in the course and giving you a great work out with smart pointers and arrays.I’ll give you exercises throughout the course, ranging from easy near the start, to quite tricky (but optional!) near the end of the course.


Section 1: Introduction

Lecture 1 Introduction

Lecture 2 Source Code

Section 2: Exceptions

Lecture 3 Exceptions Basics

Lecture 4 Standard Exceptions

Lecture 5 Custom Exceptions

Lecture 6 Exception Catching Order

Section 3: Files

Lecture 7 Writing Text Files

Lecture 8 Reading Text Files

Lecture 9 Parsing Text Files

Lecture 10 Structs and Padding

Lecture 11 Reading and Writing Binary Files

Section 4: The Standard Template Library

Lecture 12 Vectors

Lecture 13 Vectors and Memory

Lecture 14 Two-Dimensional Vectors

Lecture 15 Lists

Lecture 16 Maps

Lecture 17 Custom Objects as Map Values

Lecture 18 Custom Objects as Map Keys

Lecture 19 Multimaps

Lecture 20 Sets

Lecture 21 Stacks and Queues

Lecture 22 Sorting Vectors, Deque and Friend

Lecture 23 STL Complex Data Types

Section 5: Operator Overloading

Lecture 24 Overloading the Assignment Operator

Lecture 25 Printing – Overloading Left Bit Shift

Lecture 26 A Complex Number Class

Lecture 27 Overloading Plus

Lecture 28 Overloading Equality Test

Lecture 29 Overloading the Dereference Operator

Section 6: Template Classes and Functions

Lecture 30 Templates – An Important Note

Lecture 31 Template Classes

Lecture 32 Template Functions

Lecture 33 Template Functions and Type Inference

Section 7: Passing Functions to Functions

Lecture 34 Function Pointers

Lecture 35 Using Function Pointers

Lecture 36 Object Slicing and Polymorphism

Lecture 37 Abstract Classes and Pure Virtual Functions

Lecture 38 Functors

Section 8: C++ 11’s Amazing New Features

Lecture 39 Decltype, Typeid and Name Mangling

Lecture 40 The Auto Keyword

Lecture 41 Range-Based Loops

Lecture 42 Nested Template Classes

Lecture 43 A Ring Buffer Class

Lecture 44 Making Classes Iterable

Lecture 45 Initialization in C++ 98

Lecture 46 Initialization in C++ 11

Lecture 47 Initializer Lists

Lecture 48 Object Initialization, Default and Delete

Lecture 49 Introducing Lambda Expressions

Lecture 50 Lambda Parameters and Return Types

Lecture 51 Lambda Capture Expressions

Lecture 52 Capturing this With Lambdas

Lecture 53 The Standard Function Type

Lecture 54 Mutable Lambdas

Lecture 55 Delegating Constructors

Lecture 56 Elision and Optimization.avi

Lecture 57 Constructors and Memory

Lecture 58 Rvalues and LValues

Lecture 59 LValue References

Lecture 60 Rvalue References

Lecture 61 Move Constructors

Lecture 62 Move Assignment Operators

Lecture 63 Static Casts

Lecture 64 Dynamic Cast

Lecture 65 Reinterpret Cast

Lecture 66 Perfect Forwarding

Lecture 67 Bind

Lecture 68 Unique Pointers

Lecture 69 Shared Pointers

Section 9: About GUI Programming in C++

Lecture 70 GUI Programming Overview

Section 10: A Project: Drawing Fractal Images

Lecture 71 Source Code

Lecture 72 Fractal Creator – Hello World

Lecture 73 Bitmap File Headers

Lecture 74 Bitmap Info Headers

Lecture 75 A Bitmap Class

Lecture 76 Bitmap Memory

Lecture 77 Bitmap Header Values

Lecture 78 Writing a Bitmap

Lecture 79 Setting Bitmap Pixels

Lecture 80 Scaling

Lecture 81 A Mandelbrot Class

Lecture 82 The Fractal Algorithm

Lecture 83 Improving the Image

Lecture 84 The Colour Histogram

Lecture 85 Validating the Histogram

Lecture 86 Eliminating Max Iterations

Lecture 87 Storing the Iterations

Lecture 88 Using the Histogram

Lecture 89 Colour Transforms

Lecture 90 A Zoom Class

Lecture 91 The Zoom List Class

Lecture 92 Centering and Scaling

Lecture 93 Applying the Zoom

Lecture 94 Zooming In

Lecture 95 Reorganising Main

Lecture 96 Implementing FractalCreator

Lecture 97 An RGB Class

Lecture 98 Using the RGB Class

Lecture 99 Specifying Color Ranges

Lecture 100 Calculating Range Totals

Lecture 101 Checking the Range Totals

Lecture 102 Getting the Pixel Range

Lecture 103 Range-Based Coloring

Lecture 104 More Exercises

Section 11: Bonus Videos

Lecture 105 Multiple Inheritance

This course is for anyone with a basic knowledge of C++ who wants to increase their knowledege,Suitable for anyone who knows C++ 98 and wants to learn C++ 11 features

Course Information:

Udemy | English | 15h 11m | 6.23 GB
Created by: John Purcell

You Can See More Courses in the IT & Software >> Greetings from CourseDown.com

New Courses

Scroll to Top