Learn Advanced Modern C++!
4.4 (20 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
289 students enrolled

Learn Advanced Modern C++!

Take your knowledge of Modern C++ to the next level!
4.4 (20 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
289 students enrolled
Created by James Raynard
Last updated 5/2020
English
English [Auto-generated]
Current price: $20.99 Original price: $29.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 15 hours on-demand video
  • 116 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • 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
Requirements
  • Some knowledge of C++ (datatypes, functions and classes)
  • A compiler which supports C++11 (preferably C++14)
Description

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 lots of downloadable exercises, so you can check your understanding as you learn, gaining familiarity and confidence with the material. These are also ideal preparation for exams or job interviews.

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.

Who this course is for:
  • Programmers who have some knowledge of C++ and want to learn more
  • Students who have successfully completed the Fundamentals sister course
  • C++ developers who wish to refresh and/or update their skills
Course content
Expand all 107 lectures 15:09:04
+ Files and Streams
12 lectures 01:40:53
Output Buffering and flush
10:01
Stream Member Functions and State
12:11
Stream Member Functions and Formatting
06:12
Stringstreams
07:15
Introduction to Resource Management
08:52
Case Study Reviewed - A Program to Calculate Change
09:22
Case Study Revisited - A Program to Calculate Change
07:45
Case Study Revisited - Student Grades Program
07:00
+ Vectors, Strings and Arrays
7 lectures 01:02:18
Vector Indexing
11:39
Arrays
06:38
Built-in Arrays
08:07
C-Style Strings
05:11
String Operations
10:09
String Operations Contd
10:07
Character Functions
10:27
+ Operator Overloading
11 lectures 01:27:35
Operators and Overloading
08:22
Which Operators to Overload
06:16
Member and Non-member Operators
07:07
The Friend Keyword
05:38
Overview of Copy Constructor
06:09
Overview of Assignment Operator
09:13
Addition Operators
06:10
Equality and Inequality Operators
05:39
Less-than Operator
05:48
Function Call Operator
13:33
Printing Out Class Member Data
13:40
+ Iterators
4 lectures 32:25
Iterator Overview
11:11
Const and Reverse Iterators
06:36
Insert Iterators
05:59
Stream Iterators
08:39
+ Algorithms
18 lectures 02:48:06
Generic Algorithms
04:13
Overview of Generic Algorithms
11:18
Read-only Algorithms
15:14
Introduction to Lambda Functions
07:52
Lambda Functions Part Two
09:16
Lambda Functions Part Three
05:46
Lambda Functions Part Four
07:19
Min and Max Algorithms
08:09
Numeric Algorithms
12:15
Write-only Algorithms
07:37
Write Algorithms
06:58
Copying Algorithms
20:21
Reordering Algorithms
10:12
Introduction to Random Numbers
07:11
Random Numbers in Traditional C++
04:49
Random Numbers in Modern C++11
11:35
Random Number Algorithms
16:12
Algorithms and Iterators Workshop
01:49
+ Containers
16 lectures 02:02:34
Introduction to STL Containers
06:54
Deque
05:35
Forward List
05:40
List
05:57
List Operations
13:01
Sets
09:23
Map
08:22
Multiset and Multimap
07:49
Searching Multimaps
11:03
Unordered Associative Containers
08:57
Associative Containers and Custom Types
08:57
Nested Maps
10:12
Queues
08:00
Priority Queues
07:26
Stack
04:56
Containers Workshop
00:22
+ Pointers
8 lectures 01:17:30
Introduction to Smart Pointers
09:44
Traditional Pointer
10:32
Unique Pointer
08:34
Shared Pointer
08:59
Pointers and Arrays
11:46
Arrays and function calls
05:57
Classes and Traditional Pointers
11:54
Prefix and Postfix ++ Operator
10:04
+ Inheritance and Polymorphism
9 lectures 01:06:46
Class Hierarchies and Inheritance
04:27
Base and Derived Classes
06:59
Member Function Inheritance
07:26
References and Inheritance
09:00
Virtual Functions
07:42
Virtual Functions Part Two
06:15
Virtual Functions Part Three
07:26
Virtual Functions Practical
12:30
Polymorphism
05:01
+ Error Handling and Exceptions
10 lectures 01:28:27
Error codes and Exceptions
09:36
Introduction to Exceptions
08:00
Try and Catch Blocks
07:33
The Exception Mechanism
06:06
More About Exceptions
12:39
The std::exception Hierarchy
06:07
Exception Safety
09:15
Custom Exception Class
08:41
Swap Function
09:18
Writing a Class using RAII
11:12