4.32 out of 5
4.32
53 reviews on Udemy

Learn Advanced Modern C++!

Take your knowledge of Modern C++ to the next level!
Instructor:
James Raynard
549 students enrolled
English [Auto]
Know and understand all the important features of modern C++
Be able to create professional quality C++ classes
Have a thorough grounding in C++ programming

This follows on from my course “Learn Modern C++ Fundamentals!”

This course will enhance your knowledge of the technically challenging but powerful and efficient C++ programming language.

There are downloadable exercises, with solutions, so you can check your understanding as you learn, gaining familiarity and confidence with the material.

I will be actively supporting the course and I will respond promptly if you have any questions or experience difficulties with the course content.

The course is based around the modern version of the language. I teach the C++11, C++14 and C++17 standards, but also cover older variations which are still widely used.

The course is designed to give you an intermediate level understanding of the language. After successfully completing this course, you should be able to apply for jobs and courses which require a good knowledge of C++.

The course is thorough and goes into the material in depth. It assumes basic C++ knowledge, such as the material in my Fundamentals course.

Introduction

1
Introduction to the Course
2
How to Learn from this Course

How to get the most out of this course (hint: you won't become a professional athlete by watching videos of other people doing athletics)

Files and Streams

1
Introduction to Files
2
Files in C++
3
File Streams
4
File Streams Practical
5
Output Buffering and flush
6
Stream Member Functions and State
7
Stream Member Functions and Formatting
8
Stringstreams
9
Introduction to Resource Management
10
Case Study Reviewed - A Program to Calculate Change
11
Case Study Revisited - A Program to Calculate Change
12
Case Study Revisited - Student Grades Program
13
Files Workshop

Vectors, Strings and Arrays

1
Vector Indexing
2
Arrays
3
Built-in Arrays
4
C-Style Strings
5
String Operations
6
String Operations Contd
7
Character Functions

Operator Overloading

1
Operators and Overloading
2
Which Operators to Overload
3
Member and Non-member Operators
4
The Friend Keyword
5
Overview of Copy Constructor
6
Overview of Assignment Operator
7
Addition Operators
8
Equality and Inequality Operators
9
Less-than Operator
10
Function Call Operator
11
Printing Out Class Member Data
12
Operator Overloading Workshop

Iterators

1
Iterator Overview
2
Const and Reverse Iterators
3
Insert Iterators
4
Stream Iterators

Algorithms

1
Generic Algorithms
2
Overview of Generic Algorithms
3
Read-only Algorithms
4
Introduction to Lambda Functions
5
Lambda Functions Part Two
6
Lambda Functions Part Three
7
Lambda Functions Part Four
8
Min and Max Algorithms
9
Numeric Algorithms
10
Write-only Algorithms
11
Write Algorithms
12
Copying Algorithms
13
Reordering Algorithms
14
Introduction to Random Numbers
15
Random Numbers in Traditional C++
16
Random Numbers in Modern C++11
17
Random Number Algorithms
18
Algorithms and Iterators Workshop

Containers

1
Introduction to STL Containers
2
Deque
3
Forward List
4
List
5
List Operations
6
Sets
7
Map
8
Multiset and Multimap
9
Searching Multimaps
10
Unordered Associative Containers
11
Associative Containers and Custom Types
12
Nested Maps
13
Queues
14
Priority Queues
15
Stack
16
Containers Workshop

Pointers

1
Introduction to Smart Pointers
2
Traditional Pointer
3
Unique Pointer
4
Shared Pointer
5
Arrays and Pointers
6
Arrays and function calls
7
Classes and Traditional Pointers
8
Prefix and Postfix ++ Operator

Inheritance and Polymorphism

1
Class Hierarchies and Inheritance
2
Base and Derived Classes
3
Member Function Inheritance
4
References and Inheritance
5
Virtual Functions
6
Virtual Functions Part Two
7
Virtual Functions Part Three
8
Virtual Functions Practical
9
Polymorphism
10
Inheritance Workshop

Error Handling and Exceptions

You can view and review the lecture materials indefinitely, like an on-demand channel.
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
4.3
4.3 out of 5
53 Ratings

Detailed Rating

Stars 5
27
Stars 4
17
Stars 3
7
Stars 2
3
Stars 1
0
f1fc3898428a75e6749c00b42ea97380
30-Day Money-Back Guarantee

Includes

15 hours on-demand video
Full lifetime access
Access on mobile and TV
Certificate of Completion