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
the fact that he actually googled the pronounciation of cylinder shows how much effort he puts in the content and cares about the learners!! really thankful for this course and this teacher!!!
I love when people do something very useful for others and don't ask for money (especially if it is so hard job like this) , only donations if you have the opportunity. They make a great contribution to the development of programming. 😍
@@mi_game25 Currently on my 7th day, I am in polymorphism chapter. If you are just beginning, some things I would recommend is follow a book along side this course, as he doesn't explain some terms and definitions for better understanding. Also I was able to skip a lot in the beginning chapters as I have already learnt C syntax and theories like pointers which definitely helped. I think in a few more days I will be able to complete this course but to strengthen my concepts I will have to work on projects. A few I was interested was making blockchain or a linux daemon.
After 25 days, my friend and I are on our last week before we start a C++ course for university. We are now at 30:08:17 in the video, and tomorrow is our last day! I just wanted to say thanks for the free course, it truly was very thorough and everything was explained extremely well. Great course that I would recommend anyone with no C++ experience to try, if anything you will know the concepts and get very familiar with the C++ programming language. Update: We finished it!
Hey, I just want to ask you how this course was to you. By learning this, can we work on projects, or can we build like apps or something? Because, I am just curious to know about this. I am in 3:43:15, and I am still learning it consistently, believing that if I finish it, then I can know full C++ language. I was reading the comments section, and I just saw that only you have finished this course. How well this course has helped you in learning it? Please reply... Thanks, 😇😇😇
did u know C# before starting with C++ ? because despite they are saying the 2 languages have STRIKING similarities I still can't figure out most ofthe things that are similar to C++ in C#
This must be the greatest video in the history of the internet. It literally teaches C++ more, better and more comprehensive and detailed than most computer science curricula...
Imagine going back in time and showing this to Alan Turing... he'd cry of joy. This is what the internet was ment to and porn ofc... (lets not kid outself).
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
I'm just commentating to support you guys! Thank you so much for sharing such an in depth course that would've otherwise costed an inconceivable amount of money
I'm so, so thankful I can understand you. I struggle with discerning technical terms and processes when the teacher has a heavy accent. You're crystal clear and easy to understand.
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
@@manasayjoseph1075 Ive been facing the same problem bro! He explains alot of things in wrong order, and then keeps saying we don't have enough resources to understand it deeply...
I) Chapter 01 : Setting up the tools : II) Chapter 02: Diving in : - Your First C++ Program 1:43:05 - Comments 1:55:56 - Errors and Warnings 2:01:56 - Statements and Functions 2:13:13 - Data input and output 2:31:38 - C++ Program Execution Model 2:49:57 - C++ core language Vs Standard library Vs STL 2:56:43 III) Chapter 03 : Variables and data types : - Introduction 3:00:47 - Number Systems 3:05:07 - Integers 3:21:53 - Integer Modifiers 3:40:45 - Fractional Numbers 3:45:00 - Booleans 4:16:40 - Characters and text 4:24:49 - Auto 4:32:06 - Assignments 4:38:06 - recap 4:45:42 IV) Chapter 4: Operations on Data : - Introduction on Data operations 4:46:46 - Basic operations 4:47:32 - Precedence and Associativity 4:58:01 - Prefix and postfix + and - 5:12:07 - Compound Operators 5:23:22 - Relational Operators : comparing stuff 5:31:43 - Logical Operators 5:40:52 - Output Formatting 5:56:09 - Numeric Limits 6:33:27 - Math Functions 6:41:10 - Weird Integral types 6:54:24 - Summary of Operations on data 6:59:41 V) Chapter 5 : Flow Control : Conditional Programming - Flow Control Introduction 7:02:00 - If Statement 7:03:31 - Else if 7:20:50 - Switch 7:28:47 - Ternary Operator 7:42:45 - Summary of Flow control 7:52:20 VI) Chapter 6 : Loops - Loops Introduction 7:53:49 - for loop 7:55:20 - While loop 8:25:20 - Do while loops 8:36:54 VII) Chapter 7 : Arrays - Introduction to Arrays 8:47:08 - Declaring and using Arrays 8:48:46 - Size of An Array 9:15:53 - Arrays of characters 9:26:44 - Bounds of an Array 9:46:47
Just reached “Pointers” as a first time C++ user. This video has been amazing and I may forever recommend to friends looking into computer programming. Thank you for all the time you’ve put into this project. You’ve kickstarted my new journey and I will always be grateful to Daniel and the rest of the team :)
@@sofiahalo1482 I had none; but, being able to navigate your computer is certainly helpful in setting up your software, tools, file storage, etc. At that point, it would be like learning a new language. Basics, repetition, being diligent in your studies….then you’ll pick it up in a few months. Quicker if you have an aptitude for it or dedicate more than a few hours a day towards it.
@@sofiahalo1482 If this is your first language, do not do C++, it'll take you twice as long to learn. Even longer than javascript. It's way easier to start with something else like python or javascript
Is this video contains data structure and oops concepts? What I should learn after learning this c++ tuitorial video...learning d.s alg. Separately is needed? I'm fresher I know little bit coding that's It please reply ya
I'm a quarter of the way through the video. So far he does all the chewing for us, understanding step by step is effortless ! I'm already a java programmer, so until the reference and pointers courses, this is easy for me. Yet, if it is your first time with programming language, ... it is the right place !
35:40 mine says: 'cmd' is not recognized as an internal or external command, operable program or batch file. Build finished with error(s). The terminal process failed to launch (exit code: -1). Terminal will be reused by tasks, press any key to close it. plz help me fix dis!!
Thanks for the amazing content ! Who might have ever imagined that the content of this quality would someday be available for free? Thank you so much !
Was this course good enough to turn you into a professional, or at least an amateur who knows what they're doing and can make a C++ program on their own?
I learnt much from this course. Thank you so much to anybody who participated in creating the course and thanks to Daniel who is very eloquent and did a great job in teaching each section of the course. Great instructor.
Thank you Daniel Gakwaya for this amazing content. I can't imagine how much effort it took to create this video. I started watching the video about 3 months ago. Once I was done, I learned c++ data structures and algorithms from another video, created some beginner projects, then moved on to using SDL2 game engine... My aim is game development and I am really excited to have these amazing resources at my disposal despite not being a computer science student. A big thank you to all who have have contributed to my journey so far... (I hope to create some "#ifndef contents" in the future, when I've mastered this art).
I follow same path just running into this video, i am blender user and was doing some javacript before and actually will target c++ ... ;) we can be workmate :)
2:13:14 Statements and Functions 2:31:35 Input and Output 2:49:58 C++ Program Execution Model and Memory Model 2:56:43 C++ Core Language vs Standard Library vs STL 3:00:48 Variables and Data Types 3:05:03 Number Systems 3:21:53 Integers (Braces and Parenthesis Initialization) 3:40:44 Integer Modifiers 3:54:00 Fractional Numbers - 4:10:00 - 4:14:00 4:16:40 Booleans 4:24:49 Characters and Text 4:32:06 Auto 4:38:07 Assignments 4:45:42 Variables and Data Types Chapter 3 4:46:50 Operations in data 4:58:06 Precedence and Associativity 5:12:07 - 5:18:10 Prefix and Postfix + and - 5:23:22 Compound Operators 5:31:43 Relational Operators : Comparing Stuff 5:40:51 - 5:54:16 Logical Operators 5:56:09 - 6:28:00 Output Formatting 6:33:26 Numeric Limits - 6:35:35 6:41:10 Math Functions 6:54:24 Weird Integeral Types Chapter 4 7:03:30 If statements 7:20:50 else if statements 7:28:46 Switch 7:42:48 Ternary Operator Chapter 5 7:53:49 Loops 7:55:23 For Loops 8:25:22 While Loops 8:36:56 Do While Loops Chapter 6 8:47:10 Arrays 9:15:53 Size of an Array 9:26:44 Arrays of Characters 9:46:46 Bounds of an Array Chapter 7 9:56:03 Declaring and using Pointers 10:14:49 Pointer to Char 10:27:27 Program Memory Map 10:36:30 Dynamic Memory Allocation 11:05:45 Dangling Pointer 11:24:15 When new fails 11:38:00 Null Pointer Safety 11:45:18 Memory Leaks 11:55:44 Dynamic Allocated Arrays 14:22:20 Functions One Rule Definition classes
Thank you youtube algorithm for bringing me this video. And a bigger thanks to the creator of this video for uploading a 30 hour long video explaining C++. What an absolute legend.
oh my lord this is probably the longest video ive seen ever. usually the limit is 24 hours for a video but apparently this man was able to make a video thats LONGER THAN DAY. MASSIVE RESPECT and thank you so much.
Chapter 2: Diving in Your First C++ Program 1:43:05 Comments 1:55:56 Errors and Warnings 2:01:56 Statements and Functions 2:13:13 Data input and output 2:31:38 C++ Program Execution Model 2:49:57 C++ core language Vs Standard library Vs STL 2:56:43 Chapter 3: Variables and data types Variables and data types Introduction 3:00:47 Number Systems 3:04:50 Integer types : Decimals and Integers Integer Modifiers 3:40:44 Fractional Numbers 3:54:00 Booleans 4:16:40 Characters And Text 4:24:50 Auto 4:32:06 Assignments 4:38:07 Variables and data types summary 4:45:43
Thank you so much for taking the time to do this tutorial, could only imagine how much time and effort it took to get this done. I have only been able to find the entry-level information on C++ that went through pretty much what everyone else does. The more advanced topics are what I need to get my certificate and so far this is the closest I have come to find a comprehensive course. There was one by a woman on RUclips that runs 10 hours and is fantastic however it was lacking advanced topics.
MyCodeSchool channel has a lengthy (but a bit old) course about data structures in C/C++ which is an advanced theoretical topic and seems to be omitted here. Also, they have a course about recursive functions (needed in sort and search functions) and "Big O" notation (to estimate the the time and space complexity of your algorithms) which are also not present here.
Love that you guys keep coming up with free and relevant videos, that just helps the new and budding (whatever language) newbie. I've learnt a lot from your videos and always view them even if not in the area I'm looking in. Keep up all the good work!
Hello Daniel Gakwaya, can you make lecture on C language too. Your C++ course is super awesome, it's easy to understand. I like the fact that you went ahead to memory or basics of deep computer architecture
This is really cool. I've seen courses online that will teach you different programming languages but the courses always cost money and sometimes they're expensive. But people like you guys make learning these languages free. Thank you for that!
Compiled from multiple comments. I'm working on filling in any missing time stamps. Let me know if there is an incorrect time and I will fix it. Like and reply so this gets more visibility, this is the most complete timestamps list I know of. Thank you all Chapter 1: Setting up the tools Tools: 00:00:15 Installing C++ Compilers on Windows: 00:14:15 Installing VS Code on Windows: 00:24:28 Configuring Visual Studio Code for C++ on Windows: 00:26:24 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: 01:35:38 Chapter 2: Diving in Your First C++ Program: 01:43:05 Comments: 01:55:56 Errors and Warnings: 02:01:56 Statements and Functions: 02:13:13 Data input and output: 02:31:38 C++ Program Execution Model: 02:49:57 C++ core language Vs Standard library Vs STL: 02:56:43 Chapter 3: Variables and data types Variables and data types Introduction: 03:00:47 Number Systems: 03:05:07 Integer types : Decimals and Integers: 03:21:53 Integer Modifiers: 03:40:45 Fractional Numbers: 03:45:00 Booleans: 04:16:40 Characters And Text: 04:24:49 Auto: 04:32:06 Assignments: 04:38:06 Variables and data types summary: 04:45:42 Chapter 4: Operations on Data Introduction on Data operations: 04:46:46 Basic Operations: 04:47:32 Precedence and Associativity: 04:58:01 Prefix/Postfix Increment & Decrement: 05:12:07 Compound Assignment Operators: 05:23:22 Relational Operators: 05:31:43 Logical Operators: 05:40:52 Output formatting: 05:56:09 Numeric Limits: 06:33:27 Math Functions: 06:41:11 Weird Integral Types: 06:54:24 Data Operations Summary: 06:59:41 Chapter 5: Flow Control Flow Control Introduction: 07:02:00 If Statements: 07:03:31 Else If: 07:20:50 Switch: 07:28:47 Ternary Operators: 07:42:46 Flow Control Summary: 07:52:20 Chapter 6: Loops Loops Introduction: 07:53:49 For Loop: 07:55:20 While Loop: 08:25:20 Do While Loop: 08:36:54 Chapter 7: Arrays Introduction to Arrays: 08:47:08 Declaring and using arrays: 08:48:46 Size of an array: 09:15:53 Arrays of characters: 09:26:44 Array Bounds: 09:46:47 Chapter 8: Pointers: Introduction to Pointers: 09:56:04 Declaring and using pointers: 09:56:27 Pointer to char: 10:14:49 Program Memory Map Revisited: 10:27:26 Dynamic Memory Allocation: 10:36:32 Dangling Pointers: 11:05:45 When new Fails: 11:24:15 Null Pointer Safety: 11:38:01 Memory Leaks: 11:45:18 Dynamically allocated arrays: 11:55:46 Chapter 9: References Introduction to References: 12:11:04 Declaring and using references: 12:11:58 Comparing pointers and references: 12:22:28 References and const: 12:37:26 Chapter 10: Character Manipulation and Strings Introduction to Strings: 12:44:29 Character Manipulation: 12:46:24 C-string manipulation: 13:09:32 C-String concatenation and copy: 13:41:45 Introducing std::string: 14:01:19 Declaring and using std::string: 14:03:39 Chapter 11: Functions The One Definition Rule: 14:12:47 First Hand on C++ Functions: 14:28:25 Function Declaration and Function Definitions: 15:00:50 Multiple Files - Compilation Model Revisited: 15:15:31 Pass by value: 15:42:31 Pass by pointer: 15:50:31 Pass by reference: 15:57:49 Chapter 12: Getting Things out of functions Introduction to getting things out of functions: 16:03:20 Input and output parameters: 16:04:03 Returning from functions by value: 16:18:00 Chapter 13: Function Overloading Function Overloading Introduction: 16:32:36 Overloading with different parameters: 16:34:24 Chapter 14: Lambda functions Intro to Lambda Functions: 16:49:00 Declaring and using lambda functions: 16:49:38 Capture lists: 17:20:27 Capture all in context: 17:34:24 Summary: Chapter 15: Function Templates Intro to function templates: 17:40:08 Trying out function templates: 17:41:07 Template type deduction and explicit arguments: 18:19:53 Template parameters by reference: 18:35:50 Template specialization: 18:46:56 Chapter 16: C++20 Concepts Crash course Intro to C++20 Concepts: 19:04:31 Using C++20 Concepts: 19:06:47 Building your own C++20 Concepts: 19:25:35 Zooming in on the requires clause: 19:42:46 Combining C++20 Concepts: 19:59:55 C++20 Concepts and auto: 20:09:42 Chapter 17: Classes Intro to classes: 20:15:40 Your First Class: 20:16:33 C++ Constructors: 20:38:04 Defaulted constructors: 20:53:37 Setters and Getters: 20:59:44 Class Across Multiple Files: 21:10:07 Arrow pointer call notation: 21:30:51 Destructors: 21:42:50 Order of Constructor Destructor Calls: 22:05:46 The this Pointer: 22:11:06 Struct: 22:33:33 Size of objects: 22:42:37 Chapter 18: Inheritance Introduction to Inheritance: 22:52:43 First try on Inheritance: 22:56:00 Protected members: 23:21:12 Base class access specifiers : Zooming in: 23:36:57 Closing in on Private Inheritance: 24:07:42 Resurrecting Members Back in Context: 24:26:38 Default Constructors with Inheritance: 24:47:05 Custom Constructors With Inheritance: 24:57:37 Copy Constructors with Inheritance: 25:26:56 Inheriting Base Constructors: 25:51:54 Inheritance and Destructors: Reused Symbols in Inheritance: 26:12:20 Chapter 19: Polymorphism Introduction to Polymorphism: Static Binding with Inheritance: Dynamic binding with virtual functions: 26:55:24 Size of polymorphic objects and slicing: 27:14:41 Polymorphic objects stored in collections (array): 27:26:47 Override: 27:45:51 Overloading, overriding and function hiding: 27:52:45 Inheritance and Polymorphism at different levels: 28:07:39 Inheritance and polymorphism with static members: 28:33:07 Final: 28:49:13 Virtual functions with default arguments: 29:07:42 Virtual Destructors: 29:23:21 Dynamic casts: 29:35:42 Polymorphic Functions and Destructors: 30:08:23 Pure virtual functions and abstract classes: 30:24:46 Abstract Classes as Interfaces: 30:43:37
This covers C++ level 1 and 2 at most US universities and colleges, next step would be going deeper into data structure. Very help resource, thank you so much!
@@mrityunjay8896 it think it is. The thing is that the other course has a lot more practical cases, this one is only theory I believe. Im now at the 2:43 hour mark and so far its very good and clear. Hope it stays the same for all of the video.
If you're at 48:55 and you copy/paste your directory into VS PowerShell and it spits out an error, it might be because your directory name has a space in it. For example, I named my directory 'C++ Tutorial', and it complained that 'Tutorial' wasn't a valid argument. If this is the case for you, just surround the directory with quotation marks, like: cd "C:\Users\USER\Desktop\C++\Projects\C++ Tutorial" and that will work. His directory has no spaces in it, so he never even mentions this potential problem. Hope that helps.
Thank you for all this free course and material. Some parts course were somehow splitted and skipped, and by pregressing ahead with the material I found some concepts hard because those concepts were not explained before. But still great course for free!
I went ahead and bought your course on Udemy. I really enjoy the pace of your course and the huge number of examples you've included. Nice job! I've been primarily a Java developer/Web Developer most of my career. I did have to provide maintenance support for some old messaging systems written in C and even did a little bit of C++ a long time ago, but never really got into the language. I'm actually retired now and thought it would be fun to really learn the C++ language in depth. Your course is helping me achieve that goal.
Hi, i'm just a beginner who knows nothing and has just started learning C++ few days ago. As a retiree, can you give me a useful tips when/about programming? languages you'd like to recommend etc. Just tips that you think is actually helpful to me (a starter). Thank you so much!
Thank you Daniel! Your course was great. I watched from start to finish. It took me 2 months studying 4h a day , because I'm new to programming, so I had to rewatch some chapters a couple of times , try it out some code and ask a lot of question to chat gpt again and again, but it really worth it! I honnestly was questioning if I was capable of learning c++, but the truth is that is only a matter of time and effort. Thank you very much for the time you spent teaching, I really wish you the best!
@@zekernz1019 100% worth it. I don't know how Unity or Unreal work, though. In my case, I'm studying audio programming, so merely knowing C++ isn't enough. Now, I need to delve into a framework related to audio development. Since it's written in C++, I can grasp what's happening. Similarly, I believe you'll need to explore some tools specific to game development after learning C++. Honestly, I still ask GPT numerous questions, rewatch videos to understand C++ concepts, and dedicate a lot of time to studying. This video was just the first step on a very long journey, but it's a significant step in the right direction. If you're seeking advice, I'd say give it a try. If it feels too complex, DON'T GIVE UP! Consider starting with an easier language to master the basics, then return to C++. I experienced this myself. When I first attempted to learn C++, I didn't even know what a variable was and felt overwhelmed. So, I switched to JavaScript. After mastering that, I moved on to Python, and a few months later, I revisited C++ with this video, and it clicked!
@@KAPILGUPTAIITM007 C (C++ works too but I feel like it might be a bit too complicated for beginners) and Python are good languages to start learning about. I would say make projects or solve stuff with Python and learn a bit of C on the side since it's a language way closer to the computer hardware which will help.
@@thechudson I didn’t finish it, watched about 20 hrs. I gained more proficiency afterwards after working on some actual codes, but a lot of the fundamentals that I learned here I have applied. I gained a lot of insight from this video… maybe I’ll try to finish it
18:08:05 - Shows how to debug inside the compiler Re-do (revision) these topics later: 11:24:15 When New Fails 11:38:00 Null Pointer Safety 11:45:18 Memory Leaks 12:22:28 Comparing References To Pointers 12:37:25 References And Const 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 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
Thank you for helping me land a better job with your tutorial. Yours is the only tutorial I follow to upgrade my C++ skills and succeeded in grabbing a good job. Thank you so much 👍
I just can't imagine the effort and time you put into this to provide an absolutely free course to the RUclips community. Love and support from Pakistan 🇵🇰
Chapter 14: 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
This is insane, thank you so much! I been struggling with which language to learn first, and months ago I tried C++ but got stuck, I'm definitely going to watch this and try C++ again!
@@kingofhiskingdom4616 if you're planing to start learning programming I rly advise you to start with Python and understand it well, and then learn what ever you want. I'm not saying that Python is perfect, but it will definitly fulfill your purpose of starting to code, from my experience I see it as the best language to understand logic and terms of programming, I tried starting with other languages (C#, JS) and I was so lost, but after learning python I got everything and understood how the whole thing works. not saying I'm expert but it helped me (:
I’m an intermediate in Python. I was meant to be going to uni this year to do comp sci but I’m not anymore. So I’m just getting a taste of uni by doing this course. Lovely content 👍
ik ur a random person and so am i and idk if you would even know but i need help dont respond if you dont want to, when i try to make the rooster file or whatever (at 41:00 min) i get -- > fatal error: ${workspacefolder}\*.cpp: No such file or directory compilation terminated. in my terminal
This tutorial is worth more than six months of courses at the best universities! Hope to see more tutorials from the instructor, In-depth explanations, and simple slides with great implementation on vs code. Thanks a lot.
I'm speechless, been looking for a course like this for more than a year and you guys just released it for free and with 30h+ of content, thanks a lot for this, it's means a lot to me and my learning, and I'm quite sure many people think the same! Thanks FCC and Daniel Gakwaya for contributing so much to the C++ and development community!
@@rounakbanerjee5615 no programming is hard and its c++, programming isnt eazy and I think that 31 hours isnt enougbt this is grrat start but then u should learn more modules I think, make projects
ik ur a random person and so am i and idk if you would even know but i need help dont respond if you dont want to, when i try to make the rooster file or whatever (at 41:00 min) i get -- > fatal error: ${workspacefolder}\*.cpp: No such file or directory compilation terminated. in my terminal
3:16:41 Number System representation 3:41:28 Signed and Unsigned modifier 3:43:03 Short and Long modifier 3:58:08 e means power of 10 in floating numbers 4:00:47 floating numbers can be divided by 0 4:02:39 Remember to put suffix to floating point numbers 4:04:54 Use of std::precision 4:23:57 Use of boolalpha to print true or false using bool data type(1byte) 4:32:37 auto data type 6:00:34 set width
Thanks, I am always on lookout for implementation of some projects on C++. I feel its more enlightening about the use cases. It would be nice if you could build an interpreter using C++. It would be fun to watch :)
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
Tqs
Tnx
thx
What a legend
Thank you so much brother
I could never imagine the 30 hours work gone and providing the content for free. Thank you 💗 so much for your efforts 🎉
It would have taken more than 100 hours to create this
Respect ++ freecodecamp
It's well worth it for them.
@@sahilkuthe3882 Yes more than this
@@sahilkuthe3882 actually the full course is more than 100 hours
The whole truth ! ruclips.net/video/x00f4nok7IY/видео.html ..
mom: “you can watch one more video before you go to bed.”
the video:
Bro gonna stay up late for the next 31 hours.
the fact that he actually googled the pronounciation of cylinder shows how much effort he puts in the content and cares about the learners!! really thankful for this course and this teacher!!!
I love when people do something very useful for others and don't ask for money (especially if it is so hard job like this) , only donations if you have the opportunity. They make a great contribution to the development of programming. 😍
How long did you finish this course?
@@mi_game25 Currently on my 7th day, I am in polymorphism chapter. If you are just beginning, some things I would recommend is follow a book along side this course, as he doesn't explain some terms and definitions for better understanding. Also I was able to skip a lot in the beginning chapters as I have already learnt C syntax and theories like pointers which definitely helped. I think in a few more days I will be able to complete this course but to strengthen my concepts I will have to work on projects. A few I was interested was making blockchain or a linux daemon.
@zeusolympus1664 currently i am on destructor. I am almost 2 mounths watching by doing this course.
Bruh who cares how he pronunciates, we are learning for free and in a very very good way. Pronunciation imo is cherry picking on such a good course.
I just started C++ today and you guys drop this course. You cannot imagine how much great work you have done. I cannot thank free code camp enough.
Honestly bro it's like free code camp knows what I want to learn when I want to learn it
@@giggityyy... Thanks for the suggestion. But I'm not a beginner.
I have learned Python already.... And have done basic C++
@@ZucchiZ It's called coincidence
@@kingofyoutube9318 ofcourse
And it coincidentally happens many times
Naresh I technology
Code with Harry
Apna college
And there are many RUclips channel but I will suggest Indian one
After 25 days, my friend and I are on our last week before we start a C++ course for university. We are now at 30:08:17 in the video, and tomorrow is our last day! I just wanted to say thanks for the free course, it truly was very thorough and everything was explained extremely well. Great course that I would recommend anyone with no C++ experience to try, if anything you will know the concepts and get very familiar with the C++ programming language.
Update: We finished it!
Hey, I just want to ask you how this course was to you. By learning this, can we work on projects, or can we build like apps or something?
Because, I am just curious to know about this. I am in 3:43:15, and I am still learning it consistently, believing that if I finish it, then I can know full C++ language. I was reading the comments section, and I just saw that only you have finished this course. How well this course has helped you in learning it? Please reply...
Thanks,
😇😇😇
@@robertjr8205 I don't understand the purpose or motivation behind this comment
ja oy
did u know C# before starting with C++ ?
because despite they are saying the 2 languages have STRIKING similarities I still can't figure out most ofthe things that are similar to C++ in C#
Congratulations! Keep it up :)
This must be the greatest video in the history of the internet. It literally teaches C++ more, better and more comprehensive and detailed than most computer science curricula...
30+ hours C++ course for free! Damnnn! You guys are doing so much for beginners getting into tech. Max respect!
Imagine going back in time and showing this to Alan Turing... he'd cry of joy. This is what the internet was ment to and porn ofc... (lets not kid outself).
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
@limerence7357 thanks for the timestamps. I like your youtube name, and hope you have recovered/recovering well :)
Bro thanks for spending your time on all this, i cant express my gratitude and the help you have given!
The decimal value of the time is the important part
carpe diem
@@khaga007 lol thanks :))
I'm just commentating to support you guys! Thank you so much for sharing such an in depth course that would've otherwise costed an inconceivable amount of money
I love how the way you teach you go it through slowly and pretty detail
Whilst I dont plan on learning c++ anytime soon , hats off to the people who produced this 30+ hour course for free !
I'm so, so thankful I can understand you. I struggle with discerning technical terms and processes when the teacher has a heavy accent. You're crystal clear and easy to understand.
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
🎉
😊
1 day, 7 hours, 7 minutes, and 29 seconds long tutorial for FREE. Thank you so much!
Edit: What about smart pointers?
Is there a problem with the lecture order at functions ( One - definition rule ) I havent learned classes before.
@@manasayjoseph1075 Ive been facing the same problem bro! He explains alot of things in wrong order, and then keeps saying we don't have enough resources to understand it deeply...
I) Chapter 01 : Setting up the tools :
II) Chapter 02: Diving in :
- Your First C++ Program 1:43:05
- Comments 1:55:56
- Errors and Warnings 2:01:56
- Statements and Functions 2:13:13
- Data input and output 2:31:38
- C++ Program Execution Model 2:49:57
- C++ core language Vs Standard library Vs STL 2:56:43
III) Chapter 03 : Variables and data types :
- Introduction 3:00:47
- Number Systems 3:05:07
- Integers 3:21:53
- Integer Modifiers 3:40:45
- Fractional Numbers 3:45:00
- Booleans 4:16:40
- Characters and text 4:24:49
- Auto 4:32:06
- Assignments 4:38:06
- recap 4:45:42
IV) Chapter 4: Operations on Data :
- Introduction on Data operations 4:46:46
- Basic operations 4:47:32
- Precedence and Associativity 4:58:01
- Prefix and postfix + and - 5:12:07
- Compound Operators 5:23:22
- Relational Operators : comparing stuff 5:31:43
- Logical Operators 5:40:52
- Output Formatting 5:56:09
- Numeric Limits 6:33:27
- Math Functions 6:41:10
- Weird Integral types 6:54:24
- Summary of Operations on data 6:59:41
V) Chapter 5 : Flow Control : Conditional Programming
- Flow Control Introduction 7:02:00
- If Statement 7:03:31
- Else if 7:20:50
- Switch 7:28:47
- Ternary Operator 7:42:45
- Summary of Flow control 7:52:20
VI) Chapter 6 : Loops
- Loops Introduction 7:53:49
- for loop 7:55:20
- While loop 8:25:20
- Do while loops 8:36:54
VII) Chapter 7 : Arrays
- Introduction to Arrays 8:47:08
- Declaring and using Arrays 8:48:46
- Size of An Array 9:15:53
- Arrays of characters 9:26:44
- Bounds of an Array 9:46:47
thank you so much
Big thanks
Amazing content as usual. Keep up being great!
@@Sammy-uk7pr huh
@@dudenteiwtnoET ahem. Not 10$ it is 10€
@@AirshipTodayEmailAddress it is literally same right now
@@dudenteiwtnoET I use $ but it is showing in €
@@Sammy-uk7pr If he donates 100.00 Euros, he"s rich* , but no, this is 10.23$.
I finally completed the course. I'm grateful for "all kinds of crazy things" you taught me. Thank you...
Wow! This is really really good course. He even revises the computer fundamentals in between and advance topics too. Love it!
Bro can we refer this video for OODP in c++ too ???
Just reached “Pointers” as a first time C++ user. This video has been amazing and I may forever recommend to friends looking into computer programming. Thank you for all the time you’ve put into this project. You’ve kickstarted my new journey and I will always be grateful to Daniel and the rest of the team :)
hi. i wanted to ask how much knowledge of coding should i have before trying to learn this.
@@sofiahalo1482 I had none; but, being able to navigate your computer is certainly helpful in setting up your software, tools, file storage, etc. At that point, it would be like learning a new language. Basics, repetition, being diligent in your studies….then you’ll pick it up in a few months. Quicker if you have an aptitude for it or dedicate more than a few hours a day towards it.
Does this course have projects?
@@sofiahalo1482 If this is your first language, do not do C++, it'll take you twice as long to learn. Even longer than javascript. It's way easier to start with something else like python or javascript
Is this video contains data structure and oops concepts? What I should learn after learning this c++ tuitorial video...learning d.s alg. Separately is needed? I'm fresher I know little bit coding that's It please reply ya
I'm a quarter of the way through the video. So far he does all the chewing for us, understanding step by step is effortless !
I'm already a java programmer, so until the reference and pointers courses, this is easy for me.
Yet, if it is your first time with programming language, ... it is the right place !
Are there any solved problems. I just don't wanna learn syntax
35:40 mine says:
'cmd' is not recognized as an internal or external command,
operable program or batch file.
Build finished with error(s).
The terminal process failed to launch (exit code: -1).
Terminal will be reused by tasks, press any key to close it.
plz help me fix dis!!
@@seetsamolapo5600 except you need to learn at least the more common syntax and then just look up the more niche instructions when needed.
Compile error : 💀
Thanks for the amazing content ! Who might have ever imagined that the content of this quality would someday be available for free? Thank you so much !
Bro can you let me know how can i get the notes ( not the codes , the theoritical portion ppt from which he is explaining ) !?
@@janimitanshu6468 link is in description
Was this course good enough to turn you into a professional, or at least an amateur who knows what they're doing and can make a C++ program on their own?
@@nirankarnathsingh7161 where is the link ? can you please send me the link. Thanks in advance
I just finished and coded alongside this entire video. Thank you so much!
DUDE.... 31 HOURS??? And free?! That's insane!
@@AbdullahWaseem605 but we are getting it free
@@AbdullahWaseem605so can you do something productive for others without getting paid , start being optimistic
No damn, we would be paying thousands to learn this for 31 hours in a physical class. Ngl . This is amazing 👏
That is so cool!!!!!!!!!!! This will help me achieve my dream
@@AbdullahWaseem605 You do not understand the meaning of free
I love that he uses the term 'Crack it up' when he refers to opening a folder. Such a great course - I'm about 1/4 way through right now
its been 4 month after this comment, so have u completed the course fully?
So far, I've only reached the half of the course and it is great, thanks!
Amazing tutorial, Daniel. Thank you very much for making this course for free. It helps me a lot on learning C++.
I was looking for a advance cpp course and I got notification of 31 hours thanks sir for your this wonderful course ❤❤
I learnt much from this course. Thank you so much to anybody who participated in creating the course and thanks to Daniel who is very eloquent and did a great job in teaching each section of the course. Great instructor.
Is there a problem with the lecture order at functions ( One - definition rule ) I havent learned classes before.
Thank you Daniel Gakwaya for this amazing content. I can't imagine how much effort it took to create this video.
I started watching the video about 3 months ago. Once I was done, I learned c++ data structures and algorithms from another video, created some beginner projects, then moved on to using SDL2 game engine...
My aim is game development and I am really excited to have these amazing resources at my disposal despite not being a computer science student. A big thank you to all who have have contributed to my journey so far... (I hope to create some "#ifndef contents" in the future, when I've mastered this art).
I follow same path just running into this video, i am blender user and was doing some javacript before and actually will target c++ ... ;) we can be workmate :)
good feedback, check out this excellent 2D game engine creation with C++ from this excellent course as well www.youtube.com/@DaveChurchill/playlists
from which video you learned dsa
I have never seen a video over a day long before, insane stuff man, thanks for the video
Where is it's notes..
2:13:14 Statements and Functions
2:31:35 Input and Output
2:49:58 C++ Program Execution Model and Memory Model
2:56:43 C++ Core Language vs Standard Library vs STL
3:00:48 Variables and Data Types
3:05:03 Number Systems
3:21:53 Integers (Braces and Parenthesis Initialization)
3:40:44 Integer Modifiers
3:54:00 Fractional Numbers - 4:10:00 - 4:14:00
4:16:40 Booleans
4:24:49 Characters and Text
4:32:06 Auto
4:38:07 Assignments
4:45:42 Variables and Data Types
Chapter 3
4:46:50 Operations in data
4:58:06 Precedence and Associativity
5:12:07 - 5:18:10 Prefix and Postfix + and -
5:23:22 Compound Operators
5:31:43 Relational Operators : Comparing Stuff
5:40:51 - 5:54:16 Logical Operators
5:56:09 - 6:28:00 Output Formatting
6:33:26 Numeric Limits - 6:35:35
6:41:10 Math Functions
6:54:24 Weird Integeral Types
Chapter 4
7:03:30 If statements
7:20:50 else if statements
7:28:46 Switch
7:42:48 Ternary Operator
Chapter 5
7:53:49 Loops
7:55:23 For Loops
8:25:22 While Loops
8:36:56 Do While Loops
Chapter 6
8:47:10 Arrays
9:15:53 Size of an Array
9:26:44 Arrays of Characters
9:46:46 Bounds of an Array
Chapter 7
9:56:03 Declaring and using Pointers
10:14:49 Pointer to Char
10:27:27 Program Memory Map
10:36:30 Dynamic Memory Allocation
11:05:45 Dangling Pointer
11:24:15 When new fails
11:38:00 Null Pointer Safety
11:45:18 Memory Leaks
11:55:44 Dynamic Allocated Arrays
14:22:20 Functions One Rule Definition classes
I really appreciate these guys .They put a lot of effort and hard work in making these type of great videos 👍
And the fact that its free too
Can't believe I finished it...thank you so much for everything🙇🙇
Thank you youtube algorithm for bringing me this video. And a bigger thanks to the creator of this video for uploading a 30 hour long video explaining C++. What an absolute legend.
oh my lord this is probably the longest video ive seen ever. usually the limit is 24 hours for a video but apparently this man was able to make a video thats LONGER THAN DAY. MASSIVE RESPECT and thank you so much.
Is there a problem with the lecture order at functions ( One - definition rule ) I havent learned classes before.
Chapter 2: Diving in
Your First C++ Program 1:43:05
Comments 1:55:56
Errors and Warnings 2:01:56
Statements and Functions 2:13:13
Data input and output 2:31:38
C++ Program Execution Model 2:49:57
C++ core language Vs Standard library Vs STL 2:56:43
Chapter 3: Variables and data types
Variables and data types Introduction 3:00:47
Number Systems 3:04:50
Integer types : Decimals and Integers
Integer Modifiers 3:40:44
Fractional Numbers 3:54:00
Booleans 4:16:40
Characters And Text 4:24:50
Auto 4:32:06
Assignments 4:38:07
Variables and data types summary 4:45:43
*T H A N K*
*Y O U*
Thank you bro
Legend
thanks lol
@Bogosław Jelić SMIRI SE
What a magnificent course this is, truly brilliant, Thank you so much!!
Never seen this type of detailed course before thanks
Thank you so much for taking the time to do this tutorial, could only imagine how much time and effort it took to get this done. I have only been able to find the entry-level information on C++ that went through pretty much what everyone else does. The more advanced topics are what I need to get my certificate and so far this is the closest I have come to find a comprehensive course. There was one by a woman on RUclips that runs 10 hours and is fantastic however it was lacking advanced topics.
MyCodeSchool channel has a lengthy (but a bit old) course about data structures in C/C++ which is an advanced theoretical topic and seems to be omitted here. Also, they have a course about recursive functions (needed in sort and search functions) and "Big O" notation (to estimate the the time and space complexity of your algorithms) which are also not present here.
Love that you guys keep coming up with free and relevant videos, that just helps the new and budding (whatever language) newbie. I've learnt a lot from your videos and always view them even if not in the area I'm looking in. Keep up all the good work!
Hello Daniel Gakwaya, can you make lecture on C language too. Your C++ course is super awesome, it's easy to understand. I like the fact that you went ahead to memory or basics of deep computer architecture
this is my first hour in the course but I still learned a lot. thank you
Finally finished this 31 hours course. This is by far the best C++ tutorial I have come across! Thanks so much!
For a person that has 0 experience in coding. Will this be a great start?
@@Dunce... I think so if c++ is what you want to study. Otherwise, for coding in general, you might want to start with Python.
@@quant-trader-010 Thank you!
@@quant-trader-010 ty for this I was wondering what prequisites I should have
@@isabelward7783 I'd say no prerequisite as these lectures make no assumption of such.
And I am applying for a job that has c++ as a nice to have so this is priceless for me today ! Thanks for the amazing content ! ❤
amazing work. so much respect you all and the team gained,it's superb
Respect for this man, he went out this far to provide this amazing course. Love this man and love the course. Amazing.
This is really cool. I've seen courses online that will teach you different programming languages but the courses always cost money and sometimes they're expensive. But people like you guys make learning these languages free. Thank you for that!
Is it complete University course
I can say now after learning about c++ for the last 5 months that this is single handedly the best c++ course you can find.
very very very detailed perfect for beginners! thankyou so much sir!!!!
Compiled from multiple comments. I'm working on filling in any missing time stamps. Let me know if there is an incorrect time and I will fix it. Like and reply so this gets more visibility, this is the most complete timestamps list I know of. Thank you all
Chapter 1: Setting up the tools
Tools: 00:00:15
Installing C++ Compilers on Windows: 00:14:15
Installing VS Code on Windows: 00:24:28
Configuring Visual Studio Code for C++ on Windows: 00:26:24
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: 01:35:38
Chapter 2: Diving in
Your First C++ Program: 01:43:05
Comments: 01:55:56
Errors and Warnings: 02:01:56
Statements and Functions: 02:13:13
Data input and output: 02:31:38
C++ Program Execution Model: 02:49:57
C++ core language Vs Standard library Vs STL: 02:56:43
Chapter 3: Variables and data types
Variables and data types Introduction: 03:00:47
Number Systems: 03:05:07
Integer types : Decimals and Integers: 03:21:53
Integer Modifiers: 03:40:45
Fractional Numbers: 03:45:00
Booleans: 04:16:40
Characters And Text: 04:24:49
Auto: 04:32:06
Assignments: 04:38:06
Variables and data types summary: 04:45:42
Chapter 4: Operations on Data
Introduction on Data operations: 04:46:46
Basic Operations: 04:47:32
Precedence and Associativity: 04:58:01
Prefix/Postfix Increment & Decrement: 05:12:07
Compound Assignment Operators: 05:23:22
Relational Operators: 05:31:43
Logical Operators: 05:40:52
Output formatting: 05:56:09
Numeric Limits: 06:33:27
Math Functions: 06:41:11
Weird Integral Types: 06:54:24
Data Operations Summary: 06:59:41
Chapter 5: Flow Control
Flow Control Introduction: 07:02:00
If Statements: 07:03:31
Else If: 07:20:50
Switch: 07:28:47
Ternary Operators: 07:42:46
Flow Control Summary: 07:52:20
Chapter 6: Loops
Loops Introduction: 07:53:49
For Loop: 07:55:20
While Loop: 08:25:20
Do While Loop: 08:36:54
Chapter 7: Arrays
Introduction to Arrays: 08:47:08
Declaring and using arrays: 08:48:46
Size of an array: 09:15:53
Arrays of characters: 09:26:44
Array Bounds: 09:46:47
Chapter 8: Pointers:
Introduction to Pointers: 09:56:04
Declaring and using pointers: 09:56:27
Pointer to char: 10:14:49
Program Memory Map Revisited: 10:27:26
Dynamic Memory Allocation: 10:36:32
Dangling Pointers: 11:05:45
When new Fails: 11:24:15
Null Pointer Safety: 11:38:01
Memory Leaks: 11:45:18
Dynamically allocated arrays: 11:55:46
Chapter 9: References
Introduction to References: 12:11:04
Declaring and using references: 12:11:58
Comparing pointers and references: 12:22:28
References and const: 12:37:26
Chapter 10: Character Manipulation and Strings
Introduction to Strings: 12:44:29
Character Manipulation: 12:46:24
C-string manipulation: 13:09:32
C-String concatenation and copy: 13:41:45
Introducing std::string: 14:01:19
Declaring and using std::string: 14:03:39
Chapter 11: Functions
The One Definition Rule: 14:12:47
First Hand on C++ Functions: 14:28:25
Function Declaration and Function Definitions: 15:00:50
Multiple Files - Compilation Model Revisited: 15:15:31
Pass by value: 15:42:31
Pass by pointer: 15:50:31
Pass by reference: 15:57:49
Chapter 12: Getting Things out of functions
Introduction to getting things out of functions: 16:03:20
Input and output parameters: 16:04:03
Returning from functions by value: 16:18:00
Chapter 13: Function Overloading
Function Overloading Introduction: 16:32:36
Overloading with different parameters: 16:34:24
Chapter 14: Lambda functions
Intro to Lambda Functions: 16:49:00
Declaring and using lambda functions: 16:49:38
Capture lists: 17:20:27
Capture all in context: 17:34:24
Summary:
Chapter 15: Function Templates
Intro to function templates: 17:40:08
Trying out function templates: 17:41:07
Template type deduction and explicit arguments: 18:19:53
Template parameters by reference: 18:35:50
Template specialization: 18:46:56
Chapter 16: C++20 Concepts Crash course
Intro to C++20 Concepts: 19:04:31
Using C++20 Concepts: 19:06:47
Building your own C++20 Concepts: 19:25:35
Zooming in on the requires clause: 19:42:46
Combining C++20 Concepts: 19:59:55
C++20 Concepts and auto: 20:09:42
Chapter 17: Classes
Intro to classes: 20:15:40
Your First Class: 20:16:33
C++ Constructors: 20:38:04
Defaulted constructors: 20:53:37
Setters and Getters: 20:59:44
Class Across Multiple Files: 21:10:07
Arrow pointer call notation: 21:30:51
Destructors: 21:42:50
Order of Constructor Destructor Calls: 22:05:46
The this Pointer: 22:11:06
Struct: 22:33:33
Size of objects: 22:42:37
Chapter 18: Inheritance
Introduction to Inheritance: 22:52:43
First try on Inheritance: 22:56:00
Protected members: 23:21:12
Base class access specifiers : Zooming in: 23:36:57
Closing in on Private Inheritance: 24:07:42
Resurrecting Members Back in Context: 24:26:38
Default Constructors with Inheritance: 24:47:05
Custom Constructors With Inheritance: 24:57:37
Copy Constructors with Inheritance: 25:26:56
Inheriting Base Constructors: 25:51:54
Inheritance and Destructors:
Reused Symbols in Inheritance: 26:12:20
Chapter 19: Polymorphism
Introduction to Polymorphism:
Static Binding with Inheritance:
Dynamic binding with virtual functions: 26:55:24
Size of polymorphic objects and slicing: 27:14:41
Polymorphic objects stored in collections (array): 27:26:47
Override: 27:45:51
Overloading, overriding and function hiding: 27:52:45
Inheritance and Polymorphism at different levels: 28:07:39
Inheritance and polymorphism with static members: 28:33:07
Final: 28:49:13
Virtual functions with default arguments: 29:07:42
Virtual Destructors: 29:23:21
Dynamic casts: 29:35:42
Polymorphic Functions and Destructors: 30:08:23
Pure virtual functions and abstract classes: 30:24:46
Abstract Classes as Interfaces: 30:43:37
Thank you 😊
4:46:46 Operations On Data
4:47:32 Basic Operations
4:58:01 Precedence and Associativity
5:12:07 Postfix and Prefix + and -
5:23:22 Compound Operators
5:31:43 Relational Operators
5:40:52 Logical Operators
5:56:09 Output Formatting
6:33:26 Numeric Limits
6:41:11 Math Functions
6:54:24 Wierd Integral Types
This covers C++ level 1 and 2 at most US universities and colleges, next step would be going deeper into data structure. Very help resource, thank you so much!
hats off to the creator of this course, couldn't imagine a 30hr c++ course for free; that's an really insane awesome job
he also has a paid 112 hour one
@@poiofrito4722 bro this is a full course right ?
@@mrityunjay8896 it think it is. The thing is that the other course has a lot more practical cases, this one is only theory I believe. Im now at the 2:43 hour mark and so far its very good and clear. Hope it stays the same for all of the video.
@@poiofrito4722 have you studied the paid course?
@@adityadivine9750 no I havent.
The amount of work that must have gone into this must be phenomenal hats off to you guys. Could you make a similar one for Java
If you're at 48:55 and you copy/paste your directory into VS PowerShell and it spits out an error, it might be because your directory name has a space in it. For example, I named my directory 'C++ Tutorial', and it complained that 'Tutorial' wasn't a valid argument. If this is the case for you, just surround the directory with quotation marks, like: cd "C:\Users\USER\Desktop\C++\Projects\C++ Tutorial" and that will work. His directory has no spaces in it, so he never even mentions this potential problem. Hope that helps.
I have a class to learn C++ but its all reading; I learn better by doing so will be running this down. Thank you!
Mad respect to this channel for providing all this knowledge for free!
I don't plan on learning C++ but it's amazing that you took the effort to make such an awesome course. I skimmed through it.
The best course ever! Thank you Daniel
Thank you for all this free course and material. Some parts course were somehow splitted and skipped, and by pregressing ahead with the material I found some concepts hard because those concepts were not explained before. But still great course for free!
I went ahead and bought your course on Udemy. I really enjoy the pace of your course and the huge number of examples you've included. Nice job! I've been primarily a Java developer/Web Developer most of my career. I did have to provide maintenance support for some old messaging systems written in C and even did a little bit of C++ a long time ago, but never really got into the language. I'm actually retired now and thought it would be fun to really learn the C++ language in depth. Your course is helping me achieve that goal.
should i watch this or buy the course and continue with that ?
@@amanvaibhavjha9304 There's more content in the Udemy course. So as long as you get the discount it's worth it.
Hi, i'm just a beginner who knows nothing and has just started learning C++ few days ago. As a retiree, can you give me a useful tips when/about programming? languages you'd like to recommend etc. Just tips that you think is actually helpful to me (a starter). Thank you so much!
"Learning C++ in 31 hours and 20 years"
😂
🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣
It doesn’t take that long for everybody.
😂😂😂😂😂
@@muhammadshahzaib254 🤓
your dedication sharing these knowledge is incredible.
Guys please support this channel by at least not skip the ads
Thank you Daniel! Your course was great. I watched from start to finish. It took me 2 months studying 4h a day , because I'm new to programming, so I had to rewatch some chapters a couple of times , try it out some code and ask a lot of question to chat gpt again and again, but it really worth it! I honnestly was questioning if I was capable of learning c++, but the truth is that is only a matter of time and effort. Thank you very much for the time you spent teaching, I really wish you the best!
at the end is it worth it? will i be able to start with projects? on unity or unreal?
@@zekernz1019 100% worth it. I don't know how Unity or Unreal work, though. In my case, I'm studying audio programming, so merely knowing C++ isn't enough. Now, I need to delve into a framework related to audio development. Since it's written in C++, I can grasp what's happening. Similarly, I believe you'll need to explore some tools specific to game development after learning C++. Honestly, I still ask GPT numerous questions, rewatch videos to understand C++ concepts, and dedicate a lot of time to studying. This video was just the first step on a very long journey, but it's a significant step in the right direction. If you're seeking advice, I'd say give it a try. If it feels too complex, DON'T GIVE UP! Consider starting with an easier language to master the basics, then return to C++. I experienced this myself. When I first attempted to learn C++, I didn't even know what a variable was and felt overwhelmed. So, I switched to JavaScript. After mastering that, I moved on to Python, and a few months later, I revisited C++ with this video, and it clicked!
@@zekernz1019 u should look up more game dev based tutorials but this one is good as a general learning but what you want is in a more specific area
This has really been an amazing course. I'm just past the 10 hour mark and can't wait to get the rest of the way through.
Bro I'm going to join college but currently i have no idea about any language/Programming so if i start this course it will be helpful or not for me
@@KAPILGUPTAIITM007 C (C++ works too but I feel like it might be a bit too complicated for beginners) and Python are good languages to start learning about. I would say make projects or solve stuff with Python and learn a bit of C on the side since it's a language way closer to the computer hardware which will help.
@@KAPILGUPTAIITM007 It will be very helpful
yes@@KAPILGUPTAIITM007
Amazing course. Thank you very much for this great content and the efforts to create it and make it available for free. Max respect!
four hours into this video and I've already learned a lot! Thanks so much for sharing.
10 hours in - still liking this video. Very concise, every piece of information is useful.
@@juancolmenares6185out of curiosity did ya ever finish it? And if so how proficient would you say you were afterwards?
@@thechudson I didn’t finish it, watched about 20 hrs. I gained more proficiency afterwards after working on some actual codes, but a lot of the fundamentals that I learned here I have applied. I gained a lot of insight from this video… maybe I’ll try to finish it
Thank you for this tutorial. I was looking for C++ beginner tutorial. Here it is ❤❤❤❤
oh. my. god. over 24 hours knowledge. well done
I am only at the 11th hour but I love every single second of this!
18:08:05 - Shows how to debug inside the compiler
Re-do (revision) these topics later:
11:24:15 When New Fails
11:38:00 Null Pointer Safety
11:45:18 Memory Leaks
12:22:28 Comparing References To Pointers
12:37:25 References And Const
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 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
Incredible 31 hours long video . Really magnificently and useful for programmers.
Wonderful course. Thank you.
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
Thank you for helping me land a better job with your tutorial. Yours is the only tutorial I follow to upgrade my C++ skills and succeeded in grabbing a good job. Thank you so much 👍
bruh 2 rupees wth
@@Boltkiller96 this is not rupees... its 2.3dollars or so, but why you care?
I just can't imagine the effort and time you put into this to provide an absolutely free course to the RUclips community.
Love and support from Pakistan 🇵🇰
The best thing is: This is Completely *FREE*
Chapter 14: 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
Took me two weeks but i learned ALOT thank you for the effort
This is insane, thank you so much! I been struggling with which language to learn first, and months ago I tried C++ but got stuck, I'm definitely going to watch this and try C++ again!
Any updates so far
@@kingofhiskingdom4616 I moved on to C#, been progressing, I haven't given up on C++ yet, I'll just save it for another time
@@CSHorseBobJoe all the best man
@@kingofhiskingdom4616
if you're planing to start learning programming I rly advise you to start with Python and understand it well, and then learn what ever you want.
I'm not saying that Python is perfect, but it will definitly fulfill your purpose of starting to code, from my experience I see it as the best language to understand logic and terms of programming, I tried starting with other languages (C#, JS) and I was so lost, but after learning python I got everything and understood how the whole thing works.
not saying I'm expert but it helped me (:
@@CSHorseBobJoe Stay on C# if you don't plan on doing system things and or hacking.
I’m an intermediate in Python. I was meant to be going to uni this year to do comp sci but I’m not anymore. So I’m just getting a taste of uni by doing this course. Lovely content 👍
ik ur a random person and so am i and idk if you would even know but i need help dont respond if you dont want to, when i try to make the rooster file or whatever (at 41:00 min) i get -- > fatal error: ${workspacefolder}\*.cpp: No such file or directory compilation terminated. in my terminal
Thank you for this course! The least I can do is to say thanks.
Just finished the course!! It was amazing, please bring the same for Java.
This tutorial is worth more than six months of courses at the best universities!
Hope to see more tutorials from the instructor, In-depth explanations, and simple slides with great implementation on vs code.
Thanks a lot.
what I like about this course so far, is that it explains everything c++ has and how it works, like how cout works, cin chaining, cerr, and clog
Just finished 2 hours mark 🎉 still going strong!! 😤 💪
are you beginner?
Is there a problem with the lecture order at functions ( One - definition rule ) I havent learned classes before.
blud wasted his 2 hours to just install the compilers which he wont even be using later on
@@krronotic2448 ye
God bless u for such a massive effort for making this video and also understandable for free. thanks
I'm speechless, been looking for a course like this for more than a year and you guys just released it for free and with 30h+ of content, thanks a lot for this, it's means a lot to me and my learning, and I'm quite sure many people think the same! Thanks FCC and Daniel Gakwaya for contributing so much to the C++ and development community!
have ya even completed it?
@@ashuvlogs662 Yep
@@kode7389 is it enough to learn everything about c++ .
@@rounakbanerjee5615 No
@@rounakbanerjee5615 no programming is hard and its c++, programming isnt eazy and I think that 31 hours isnt enougbt this is grrat start but then u should learn more modules I think, make projects
I can't believe this lecture is free. It is far better than some of other paid lectures. Thanks a ton!
ik ur a random person and so am i and idk if you would even know but i need help dont respond if you dont want to, when i try to make the rooster file or whatever (at 41:00 min) i get -- > fatal error: ${workspacefolder}\*.cpp: No such file or directory compilation terminated. in my terminal
@@bigdaddyd-rk9pn did it get fixed ?
This work is insane!
3:16:41 Number System representation
3:41:28 Signed and Unsigned modifier
3:43:03 Short and Long modifier
3:58:08 e means power of 10 in floating numbers
4:00:47 floating numbers can be divided by 0
4:02:39 Remember to put suffix to floating point numbers
4:04:54 Use of std::precision
4:23:57 Use of boolalpha to print true or false using bool data type(1byte)
4:32:37 auto data type
6:00:34 set width
Great video and thanks for all of your efforts, you are really hard working people. Could you do a complete ‘Python advanced course’?
I can't believe how much I needed this course. I just started with C++ and this came at the perfect time.
I am very lucky, thank you FreeCodeCamp
Absolutely Amazing!❤😂
Thank you soooo much.
Keep up the good work.
Thanks, I am always on lookout for implementation of some projects on C++. I feel its more enlightening about the use cases. It would be nice if you could build an interpreter using C++. It would be fun to watch :)
30 hours bro that's a lot! This man spent 30 hours just to teach us C++ thanks man!
Just amazing lecture all my gratitude 🙏
oke, this is the frist time i ltry to convince my self for learning c++, i wish it going to be done as soon i understand the concept