
C++ Programming Course – Beginner to Advanced
💻 Source code:
✏️ Course developed by Daniel Gakwaya. Check out his YouTube channel:
🐦 Twitter:
🔗 Want more from Daniel?
🔗 Join Daniel’s discord server for support:
⭐️ Course Contents ⭐
(0:00:00) Introduction
(0:04:32) Chapter 1: Setting up the tools
Tools
Installing C++ Compilers on Windows
Installing VS Code on Windows
Configuring Visual Studio Code for C++ on Windows
Installing C++ Compilers on Linux
Installing Visual Studio Code on Linux
Configuring Visual Studio Code for C++ on Linux
Installing C++ Compilers on MacOs
Installing Visual Studio Code on MacOs
Configuring Visual Studio Code for C++ on MacOs
Online Compilers
(1:43:01) Chapter 2: Diving in
Your First C++ Program
Comments
Errors and Warnings
Statements and Functions
Data input and output
C++ Program Execution Model
C++ core language Vs Standard library Vs STL
(3:00:47) Chapter 3: Variables and data types
Variables and data types Introduction
Number Systems
Integer types : Decimals and Integers
Integer Modifiers
Fractional Numbers
Booleans
Characters And Text
Auto
Assignments
Variables and data types summary
(4:46:46) Chapter 4: Operations on Data
Introduction on Data operations
Basic Operations
Precedence and Associativity
Prefix/Postfix Increment & Decrement
Compound Assignment Operators
Relational Operators
Logical Operators
Output formatting
Numeric Limits
Math Functions
Weird Integral Types
Data Operations Summary
(7:01:58) Chapter 5: Flow Control
Flow Control Introduction
If Statements
Else If
Switch
Ternary Operators
Flow Control Summary
(7:53:49) Chapter 6: Loops
Loops Introduction
For Loop
While Loop
Do While Loop
(8:47:08) Chapter 7: Arrays
Introduction to Arrays
Declaring and using arrays
Size of an array
Arrays of characters
Array Bounds
(9:53:23) Chapter 8: Pointers
Introduction to Pointers
Declaring and using pointers
Pointer to char
Program Memory Map Revisited
Dynamic Memory Allocation
Dangling Pointers
When new Fails
Null Pointer Safety
Memory Leaks
Dynamically allocated arrays
(12:11:04) Chapter 9: References
Introduction to References
Declaring and using references
Comparing pointers and references
References and const
(12:44:29) Chapter 10: Character Manipulation and Strings
Introduction to Strings
Character Manipulation
C-string manipulation
C-String concatenation and copy
Introducing std::string
Declaring and using std::string
(14:12:47) Chapter 11: Functions
The One Definition Rule
First Hand on C++ Functions
Function Declaration and Function Definitions
Multiple Files – Compilation Model Revisited
Pass by value
Pass by pointer
Pass by reference
(16:03:20) Chapter 12: Getting Things out of functions
Introduction to getting things out of functions
Input and output parameters
Returning from functions by value
(16:32:35) Chapter 13: Function Overloading
Function Overloading Introduction
Overloading with different parameters
(16:49:00) Chapter 14: Lambda functions
Intro to Lambda Functions
Declaring and using lambda functions
Capture lists
Capture all in context
Summary
(17:40:08) Chapter 15: Function Templates
Intro to function templates
Trying out function templates
Template type deduction and explicit arguments
Template parameters by reference
Template specialization
(19:04:31) Chapter 16: C++20 Concepts Crash course
Intro to C++20 Concepts
Using C++20 Concepts
Building your own C++20 Concepts
Zooming in on the requires clause
Combining C++20 Concepts
C++20 Concepts and auto
(20:15:40) Chapter 17: Classes
Intro to classes
Your First Class
C++ Constructors
Defaulted constructors
Setters and Getters
Class Across Multiple Files
Arrow pointer call notation
Destructors
Order of Constructor Destructor Calls
The this Pointer
struct
Size of objects
(22:52:43) Chapter 18: Inheritance
Introduction to Inheritance
First try on Inheritance
Protected members
Base class access specifiers : Zooming in
Closing in on Private Inheritance
Resurrecting Members Back in Context
Default Constructors with Inheritance
Custom Constructors With Inheritance
Copy Constructors with Inheritance
Inheriting Base Constructors
Inheritance and Destructors
Reused Symbols in Inheritance
(26:21:03) Chapter 19: Polymorphism
Introduction to Polymorphism
Static Binding with Inheritance
Dynamic binding with virtual functions
Size of polymorphic objects and slicing
Polymorphic objects stored in collections (array)
Override
Overloading, overriding and function hiding
Inheritance and Polymorphism at different levels
Inheritance and polymorphism with static members
Final
Virtual functions with default arguments
Virtual Destructors
Dynamic casts
Polymorphic Functions and Destructors
Pure virtual functions and abstract classes
Abstract Classes as Interfaces
cl.exe file doesn't exist?
13:24:59
learn C++ 31 minuts – Beginner to Advanced KKKKKKKKKKKKKKKKKKKK
hello, I'm encountering an error while configuring the MSVC at 00:52:20 telling me 'cl : Command line warning D9024 : unrecognized source file type (directory of rooster.exe) and 'LINK : fatal error LNK1181: cannot open input file (directory of rooster.exe)', can anyone help me out to better understand what caused it and fix it
PS: I'm using the same arguments seen in the video for the compilers in tasks.json.
Really great that I paid for this on Udemy just for it to be free on YouTube. Really got my money's worth! 👍
I wish somebody could tell me how to get the VSCode preprocessor to include the iostream file. All I can get it to see is stdio.h, and I can't use std::cout, endl, and who know how many other commands. I've tried msys and MinGW compilers; the latter brings up iostream in Codeblocks no problem, but VSCode won't recognize it.
So much high quality educational content for free these days; what a time to be alive!
First of all, thank you for the upload. This was huge and it was very through most of the time. I can see that this would be a paying course, because you can see there are courses skipped from the video, still it was through and easy to follow 98% of the time. You really lost me in the last chapter (built too heavily on the skipped parts). Thank you for the course!
when you have like this one (video) the code will be very esay for us thanks freecodecamp
01:46:26
Great Video as always, I will learn C++ so I can learn Arduino further, Thanks!
6:10:36
Chapter 1: Setting up the tools
00:04:32 C++ Dev Tools
00:11:06 Installing C++ Compilers On Windows
00:24:27 Installing VS Code On Windows
00:28:00 Configuring Visual Studio Code For C++ On Windows
00:57:27 Installing C++ Compilers On Linux
01:04:02 Installing Visual Studio Code On Linux
01:07:40 Configuring Visual Studio Code For C++ On Linux
01:22:45 Installing C++ Compilers On MacOS
01:28:07 Installing Visual Studio Code On MacOS
01:30:16 Configuring Visual Studio Code For C++ On MacOS
01:35:37 Online Compilers
Chapter 2: Diving In
01:43:01 Your First C++ Program
01:55:56 Comments
02:01:56 Errors And Warnings
02:13:12 Statements And Functions
02:31:34 Input Output
02:49:57 C++ Program Execution Model & Memory Model
02:56:42 C++ Core Language VS Standard Library VS STL
Chapter 3: Variables And Data Types
03:00:47 Variables And Data Types Introduction
03:05:05 Number Systems
03:21:52 Integers
03:40:44 Integer Modifiers
03:54:00 Fractional Numbers
04:16:39 Booleans
04:24:49 Characters And Text
04:32:05 Auto
04:38:06 Assignments
04:45:42 Variables And Data Types Summary
Chapter 4: Operations on Data
04:46:45 Operations On Data Introduction
04:47:31 Basic Operations
04:58:01 Precedence and Associativity
05:12:06 Prefix And Postfix + & –
05:23:22 Compound Operators
05:31:43 Relational Operators: Comparing Stuff
05:40:51 Logical Operators
05:56:09 Output formatting
06:33:26 Numeric Limits
06:41:10 Math Functions
06:54:23 Weird Integral Types
06:59:41 Operations On Data Summary
Chapter 5: Flow Control
07:01:58 Flow Control: Conditional Programming Introduction
07:03:30 If Statement
07:20:49 Else If
07:28:46 Switch
07:42:44 Ternary Operator
07:52:20 Flow Control: Conditional Programming Summary
Chapter 6: Loops
07:53:49 Loops Introduction
07:55:20 For Loop
08:25:20 While Loop
08:36:54 Do While Loop
Chapter 7: Arrays
08:47:08 Arrays Introduction
08:48:45 Declaring And Using Arrays
09:15:53 Size Of An Array
09:26:44 Arrays Of Characters
09:46:46 Bounds Of An Array
Chapter 8: Pointers
09:53:23 Pointers Introduction
09:56:03 Declaring And Using Pointers
10:14:48 Pointer To Char
10:27:26 Program Memory Map
10:36:30 Dynamic Memory Allocation
11:05:45 Dangling Pointers
11:24:15 When New Fails
11:38:00 Null Pointer Safety
11:45:18 Memory Leaks
11:55:44 Dynamic Arrays
Chapter 9: References
12:11:04 References Introduction
12:11:58 Declaring And Using References
12:22:28 Comparing References To Pointers
12:37:25 References And Const
Chapter 10: Character Manipulation And Strings
12:44:29 Character Manipulation And Strings Introduction
12:46:24 Character Manipulation
13:09:28 C-String Manipulation
13:41:42 C-String Concatenation And Copying
14:01:19 Introducing std::string
14:03:38 Declaring And Using std::string
Chapter 11: Functions
14:12:47 One Definition Rule
14:28:25 First Hand On Functions
15:00:50 Function Declaration & Definition
15:15:30 Functions Across Multiple Files – Compilation Model Revisited
15:42:30 Pass By Value
15:50:30 Pass By Pointer
15:57:46 Pass By Reference
Chapter 12: Getting Things Out Of Functions
16:03:20 Getting Things Out Of Functions Introduction
16:03:58 Input And Output Parameters
16:17:54 Returning From Functions
Chapter 13: Function Overloading
16:32:35 Function Overloading Introduction
16:34:17 Overloading With Different Parameters
Chapter 14: Lambda Functions
16:49:00 Lambda Functions Introduction
16:49:38 Declaring And Using Lambda Functions
17:20:25 Capture Lists
17:34:24 Capture All In Context
Chapter 15: Function Templates
17:40:08 Function Templates Introduction
17:41:45 Trying Out Function Templates
18:19:52 Template Type Deduction And Explicit Arguments
18:35:47 Template Type Parameters By Reference
18:48:55 Template Specialization
Chapter 16: Concepts
19:04:31 Concepts Introduction
19:06:47 Concepts
19:25:32 Concepts: Building Your Own
19:42:45 Requires Clause: Zooming In
19:59:53 Logical Combinations Of Concepts
20:09:39 Concepts And Auto
Chapter 17: Classes
20:15:40 Classes Introduction
20:16:33 Your First C++ Class
20:38:03 Constructors
20:53:35 Defaulted Constructors
20:59:42 Setters And Getters
21:10:06 Class Across Multiple Files
21:30:49 Managing Class Objects Through Pointers
21:42:48 Destructors
22:05:44 Constructor & Destructor Call Order
22:11:03 The This Pointer
22:33:33 Struct
22:42:37 Size Of Class Objects
Chapter 18: Inheritance
22:52:43 Inheritance Introduction
22:55:59 Your First Try On Inheritance
23:21:10 Protected Members
23:32:06 Base Class Access Specifiers: Zooming In
23:36:49 Base Class Access Specifiers: A Demo
24:07:42 Closing In On Private Inheritance
24:26:36 Resurrecting Members Back In Scope
24:46:59 Default Arg Constructors With Inheritance
24:57:37 Custom Constructors With Inheritance
25:26:56 Copy Constructors With Inheritance
25:51:53 Inheriting Base Constructors
26:06:00 Inheritance With Destructors
26:12:20 Reused Symbols In Inheritance
Chapter 19: Polymorphism
26:21:03 Polymorphism Introduction
26:26:54 Static Binding With Inheritance
26:55:24 Polymorphism (Dynamic Binding) With Virtual Functions
27:14:31 Size Of Polymorphic Objects And Slicing
27:26:37 Polymorphic Objects Stored In Collections
27:45:42 Override
27:52:45 Overloading, Overriding And Hiding
28:07:35 Inheritance And Polymorphism At Different Levels
28:33:03 Inheritance And Polymorphism With Static Members
28:49:13 Final
29:07:42 Virtual Functions With Default Arguments
29:23:18 Virtual Destructors
29:35:38 Dynamic_cast<>()
30:08:17 Don't Call Virtual (Polymorphic) Functions From Constructors & Destructors
30:24:45 Pure Virtual Functions And Abstract Classes
30:43:37 Abstract Classes As Interfaces
My name for the .exe file is "WowThisIsATestName" Just found it funny.
Dude holy F*CK!! 30+hr video?!?!? Free!?
✌✌
why he didn't teach stl topics
Super cool .. the only problem is the pronounce, it’s such a fatigue to follow
This reminds me what I used to do with pointer functions, pass functions to functions as parameters in standard C about 30 years ago.
i´m having trouble to understand how each int, for, while, if reeeeally works.
i know we can use
int c;
while ((c = getchar()) != EOF)
putchar(c);
but danm…..when i will really use it? i´m trying to learn here, i´m typping these codes, sometimes i understand a little bit, but sometimes when i progress, it´s like the same thing as before.
i´m stuck but i know eventually i will understand, but this is kinda weird to me.
if you are in school, this is basically cs1 to cs2. aka from hello world to object oriented programming (not including environment building)
fact that you did not elaborate on how to instal compiler on Mac. While you did detailed instructions on windows. . your course is worthelss to me. I gave you tumb down.. If I cant insatll necessary tools, I am not leaning… Your approach is useless. Your lack of instructions , and confusing way on explaing how to install compiler on Mac, and what each programm means. Shows how careless instructor you are. You have no idea what you are doing, teaching wise… if you can not explain what student should do.. You are horrible instructor. I know its free course. You owe nothing to anyone… That is why one can nt learn from you.
i will not recomend your course and will search for some else, who is better pedagogue that you are….
people can not learn without tools, if you can not afford Mac device why in a world are you teaching the course?
15:42:30 Pass By Value
bro no sé ingles
What were y’all thinking when you uploaded a 31hour programming language???
This tutorial is about 90% useless fluff and padded with extremely excessive talking with very little information, just like the rest of the internet. The longer I watch the stupider I get.
4:45:30 – not so important but 'garbage value' is an underflow. Not sure if this is covered in this series – but it's interesting.
I had hour<31 instead of hour<=31 and had to start over.
01:43:05.000 Your First C++ Program
01:55:56.000 Comments
02:01:56.000 Errors and Warnings
02:13:13.000 Statements and Functions
02:31:38.000 Data input and output
02:49:57.000 C++ Program Execution Model
02:56:43.000 C++ core language Vs Standard library Vs STL
03:00:47.000 Introduction
03:05:07.000 Number Systems
03:21:53.000 Integers
03:40:45.000 Integer Modifiers
03:45:00.000 Fractional Numbers
04:16:40.000 Booleans
04:24:49.000 Characters and text
04:32:06.000 Auto
04:38:06.000 Assignments
04:45:42.000 Variables and data types
04:46:46.000 Introduction on Data operations
04:47:32.000 Basic operations
04:58:01.000 Precedence and Associativity
05:12:07.000 Prefix and postfix + and
05:23:22.000 Compound Operators
05:31:43.000 Relational Operators : comparing stuff
05:40:52.000 Logical Operators
05:56:09.000 Output Formatting
06:33:27.000 Numeric Limits
06:41:10.000 Math Functions
06:54:24.000 Weird Integral types
06:59:41.000 Summary of Operations on data
07:02:00.000 Flow Control Introduction
07:03:31.000 If Statement
07:20:50.000 Else if
07:28:47.000 Switch
07:42:45.000 Ternary Operator
07:52:20.000 Summary of Flow control
07:53:49.000 Loops Introduction
07:55:20.000 for loop
08:25:20.000 While loop
08:36:54.000 Do while loops
08:47:08.000 Introduction to Arrays
08:48:46.000 Declaring and using Arrays
09:15:53.000 Size of An Array
09:26:44.000 Arrays of characters
09:46:47.000 Bounds of an Array
09:53:23.000 Introduction to Pointers
09:56:04.000 Declaring and Using Pointers
10:14:49.000 Pointer to Char
10:27:26.000 Program Memory Map
10:36:32.000 Dynamic Memory Allocation
11:05:45.000 Dangling Pointers
11:24:15.000 When 'New' Fails
11:38:00.000 Null Pointer Safety
11:45:18.000 Memory Leaks
11:55:46.000 Dynamic Arrays
12:11:04.000 Introduction to References
12:11:58.000 Declaring and using references
12:22:28.000 Comparing pointers and references
12:37:29.000 References and con
12:44:29.000 Character Manipulation and strings
13:09:32.000 Cstring manipulation
13:41:45.000 CString concatenation and copy
14:01:19.000 Introducing std::string
14:03:39.000 Declaring and using std::string
14:12:43.000 The One Definition Rule
14:28:25.000 First Hand on C++ Functions
15:00:50.000 Function Declaration and Function Definitions
15:15:31.000 Multiple Files Compilation Model Revisited
15:42:31.000 Pass by value
15:50:31.000 Pass by pointer
15:57:49.000 Pass by reference
16:03:20.000 Introduction to getting things out of functions
16:04:03.000 Input and output parameters
16:18:00.000 Returning from functions by value
16:32:35.000 Function Overloading Introduction
16:34:24.000 Overloading with different pa
16:49:00.000 Intro to Lambda Functions
16:49:38.000 Declaring and using lambda functions
17:20:27.000 Capture lists
17:33:00.000 Capture all in context
17:40:08.000 Intro to function templates
17:41:07.000 Trying out function templates
18:19:53.000 Template type deduction and explicit arguments
18:35:50.000 Template parameters by reference
18:46:56.000 Template specialization
19:04:31.000 Intro to C++20 Concepts
19:06:47.000 Using C++20 Concepts
19:25:35.000 Building your own C++20 Concepts
19:42:46.000 Zooming in on the requires clause
19:59:55.000 Combining C++20 Concepts
20:09:42.000 C++20 Concepts and auto
20:15:40.000 Intro to classes
20:16:33.000 Your First Class
20:38:04.000 C++ Constructors
20:53:37.000 Defaulted constructors
20:59:44.000 Setters and Getters
21:10:07.000 Class Across Multiple Files
21:30:51.000 Arrow pointer call notation
21:42:50.000 Destructors
22:05:46.000 Order of Constructor Destructor Calls
22:11:06.000 The this Pointer
22:33:33.000 struct
22:42:37.000 Size of objects
22:52:43.000 Introduction to Inheritance
22:56:00.000 First try on Inheritance
23:21:12.000 Protected members
23:36:57.033 Base class access specifiers : Zooming in
24:07:42.666 Closing in on Private Inheritance
24:26:38.094 Resurrecting Members Back in Context
24:47:05.000 Default Constructors with Inheritance
24:57:37.766 Custom Constructors With Inheritance
25:26:56.400 Copy Constructors with Inheritance
25:51:54.000 Inheriting Base Constructors
26:12:20.533 Reused Symbols in Inheritance
26:21:07.666 Chapter 19: Polymorphism
26:55:24.100 Dynamic binding with virtual functions
27:14:41.666 Size of polymorphic objects and slicing
27:26:47.866 Polymorphic objects stored in collections
27:45:51.900 Override
27:52:45.933 Overloading, overriding and function hiding
28:07:39.800 Inheritance and Polymorphism at different levels
28:33:07.666 Inheritance and polymorphism with static members
28:49:13.833 Final
29:07:42.466 Virtual functions with default arguments
29:23:21.066 Virtual Destructors
29:35:42.399 Dynamic casts
30:08:23.066 Polymorphic Functions and Destructors
30:24:46.754 Pure virtual functions and abstract classes
30:43:37.633 Abstract Classes as Interfaces
31 sjsj
Looks like timestamps in the comments beyond 12:00:00 aren't working. It works in the video description though.
Test: 12:10:00; 14:01:02; 24:00:00
1:43:41 i don’t have main.cpp file😭😭
OMG, what a shitty course — the dude literally spent the first hour doing nothing of any use
Hi i need help with configuring the cl.exe complier (MSVC). Despite working it out in Developer PowerShell for VS 2022, i still face this error message:
cl.exe : The term 'cl.exe' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of
the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:1
+ cl.exe
+ ~~~~~~
+ CategoryInfo : ObjectNotFound: (cl.exe:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
Any guidance will be much appreciated.
Thank you for the course
this course is of poor quality, don't waste.. 31 hours
Great content and great vedio sharing the detailed things which are required for the beginner to learn.Thanks.
Bro what an absurd video.
Imagine editing and rendering a day long video
This guy literally talks about absolutely nothing for about 99.9% of this "course". Endless dumb taking, no information. Total waste of time, unless you are an absolute retard.
As you can see at 6:31:27 we set g variable to 45, but when we print it out it printed as 55. Why is that?
4:00:47
Please, I need translation very urgently, my friends. If there is someone among you who can help me, please help me😢
Why do you keep using "std::cout" again and again, we could've just used "using namespace std;" under our #include<iostream>, and we can just simply type cout? maybe you explain this later in the video but the video is 30 hrs long,
Well… all new to this, im at the compiler part in the enviromental veriables/path and accedentally copied in the path for mingw64 and errased the original path… any help to restore it? tried: C:Windowssystem32; and got it to find mingw64… but not sure what else ive fucked up
ok so… i did what he says to verify the compilers if they are working in vs code and they do not show up when i compile the task. i've done the verification in cmd just like he did and there it showed up, but in vs code it doesn't. what do i do?
T-21:00
I have this video and then i can learn English.
07:03:00
19:42 on windows 11 you have to restart for it to take effect good luck to you all
Thanks so much for hosting our course . I've learnt so much from the channel myself! Knowing that even a single individual benefits from the course gives me great pleasure.
If anyone has specific questions or just wants to hang out talking about tech or C++, consider joining the discord server shared in the description. Can't wait to see what you guys build with C++.