title
C++ Programming

description
Get the Cheat Sheet Here : http://goo.gl/OpJ209 Subscribe to Me: http://bit.ly/2FWQZTx Best Book on C++ : http://goo.gl/GLLL0g How to Install C++ on Windows : https://youtu.be/SykxWpFwMGs?t=1m47s C++ for Beginners : https://youtu.be/DamuE8TM3xo MY UDEMY COURSES ARE 87.5% OFF TIL December 19th ($9.99) ONE IS FREE ➡️ Python Data Science Series for $9.99 : Highest Rated & Largest Python Udemy Course + 56 Hrs + 200 Videos + Data Science https://bit.ly/Master_Python_41 ➡️ C++ Programming Bootcamp Series for $9.99 : Over 23 Hrs + 53 Videos + Quizzes + Graded Assignments + New Videos Every Month https://bit.ly/C_Course_41 ➡️ FREE 15 hour Golang Course!!! : https://bit.ly/go-tutorial3 Like the channel? Consider becoming a Patreon! Check it out here: ►► https://www.patreon.com/derekbanas Data Types : 2:40 Arithmetic : 6:02 If Statement : 9:19 Switch Statement : 12:01 Ternary Operator : 13:08 Arrays : 13:49 For Loop : 16:30 While Loop : 17:56 Do While Loop : 19:42 User Input : 20:27 Convert String : 20:56 Strings : 21:39 Vectors : 27:47 Functions : 30:16 Recursive Function : 32:37 File I/O : 34:57 Exception Handling : 38:38 Pointers : 40:02 Reference Operator : 40:25 Classes / Objects : 47:12 Private : 47:55 Static Variables : 48:21 Public / Encapsulation: 49:02 Constructors : 50:42 Static Functions : 51:46 this : 53:16 Inheritance : 57:29 Call Superclass Constructor : 59:14 Execute Static Method : 1:00:34 Virtual Methods : 1:02:45 Polymorphism : 1:07:39 Abstract Data Type : 1:08:29 *Watch More Learn in One Videos* ►► Java - https://youtu.be/n-xAqcBCws4 ►► C++ - https://youtu.be/Rub-JsjMhWY ►► Python - https://youtu.be/N4mEzFDjqtA ►► MySQL - https://youtu.be/yPu6qV5byu4 ►► PHP - https://youtu.be/7TF00hJI78Y ►► Kotlin - https://youtu.be/H_oGi8uuDpA ►► C# - https://youtu.be/lisiwUZJXqQ ►► JavaScript - https://youtu.be/fju9ii8YsGs

detail
{'title': 'C++ Programming', 'heatmap': [{'end': 1569.095, 'start': 1520.558, 'weight': 1}, {'end': 2714.648, 'start': 2665.442, 'weight': 0.734}], 'summary': 'Covers c++ programming basics, operations, if and switch statements, user input, string manipulation, file i/o, oop pointers, references, class declaration, and virtual methods. it includes examples and syntax details for practical understanding.', 'chapters': [{'end': 138.123, 'segs': [{'end': 28.92, 'src': 'embed', 'start': 0.149, 'weight': 0, 'content': [{'end': 3.591, 'text': 'well, hello internet and welcome to my c++ programming tutorial.', 'start': 0.149, 'duration': 3.442}, {'end': 7.993, 'text': "in this tutorial, i'm going to teach the entire c++ programming language in one video.", 'start': 3.591, 'duration': 4.402}, {'end': 12.174, 'text': "in the description underneath the video, you're going to see links to all the individual parts,", 'start': 7.993, 'duration': 4.181}, {'end': 16.836, 'text': "so that should help you get it to exactly what you want, and i'm not going to waste any time covering installation.", 'start': 12.174, 'duration': 4.662}, {'end': 20.558, 'text': "if you guys want me to cover that, just leave a comment down below and i'll do that later.", 'start': 16.836, 'duration': 3.722}, {'end': 21.599, 'text': 'so i have a lot to do.', 'start': 20.558, 'duration': 1.041}, {'end': 22.359, 'text': "so let's get into it.", 'start': 21.599, 'duration': 0.76}, {'end': 26.498, 'text': 'Okay, so what I have here on the left side of the screen is a basic text editor.', 'start': 23.356, 'duration': 3.142}, {'end': 28.92, 'text': 'What I have here on the right side of the screen is a terminal.', 'start': 26.518, 'duration': 2.402}], 'summary': 'C++ tutorial covering entire language, with links to parts, and offer for installation coverage on request.', 'duration': 28.771, 'max_score': 0.149, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Rub-JsjMhWY/pics/Rub-JsjMhWY149.jpg'}, {'end': 74.526, 'src': 'embed', 'start': 34.385, 'weight': 1, 'content': [{'end': 38.528, 'text': "no matter if you're on Mac Windows or on a Linux operating system.", 'start': 34.385, 'duration': 4.143}, {'end': 41.15, 'text': "So the very first thing we're going to do here is cover comments.", 'start': 38.668, 'duration': 2.482}, {'end': 43.251, 'text': 'This is a comment.', 'start': 41.29, 'duration': 1.961}, {'end': 48.095, 'text': 'Just like many other languages, you can create a comment just by putting two dashes and then whatever you want.', 'start': 43.392, 'duration': 4.703}, {'end': 51.478, 'text': 'And if you want a multi-line comment, you can just type in multi.', 'start': 48.335, 'duration': 3.143}, {'end': 53.959, 'text': 'line, and then close that off.', 'start': 51.898, 'duration': 2.061}, {'end': 56.32, 'text': 'So there is commenting in C++.', 'start': 54.099, 'duration': 2.221}, {'end': 60.501, 'text': "First thing we're going to do here is include some outside libraries.", 'start': 56.6, 'duration': 3.901}, {'end': 62.802, 'text': "We're going to have some functions that we're going to want to use.", 'start': 60.521, 'duration': 2.281}, {'end': 68.064, 'text': "So this one's going to allow us to use a function called cout and a whole bunch of other different things.", 'start': 63.082, 'duration': 4.982}, {'end': 69.184, 'text': "You're going to see it here in a second.", 'start': 68.084, 'duration': 1.1}, {'end': 70.564, 'text': "That'll be used for vectors.", 'start': 69.324, 'duration': 1.24}, {'end': 72.185, 'text': 'This will be used for strings.', 'start': 70.925, 'duration': 1.26}, {'end': 74.526, 'text': 'And then this will be used for file.io.', 'start': 72.565, 'duration': 1.961}], 'summary': 'Introduction to commenting and including external libraries in c++.', 'duration': 40.141, 'max_score': 34.385, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Rub-JsjMhWY/pics/Rub-JsjMhWY34385.jpg'}, {'end': 125.029, 'src': 'embed', 'start': 98.836, 'weight': 2, 'content': [{'end': 105.042, 'text': "I'm going to type in using namespace st. And that's going to keep me from having to type that out every single time.", 'start': 98.836, 'duration': 6.206}, {'end': 112.492, 'text': "Now, if you wanted to do a basic hello world type of statement here, all we're going to have to do is type in hello world using cout,", 'start': 105.102, 'duration': 7.39}, {'end': 118.641, 'text': 'which outputs the text that we have here, and a carriage return whenever we type in the same brackets.', 'start': 112.492, 'duration': 6.149}, {'end': 119.322, 'text': 'you see right there.', 'start': 118.641, 'duration': 0.681}, {'end': 120.483, 'text': 'And end L.', 'start': 119.702, 'duration': 0.781}, {'end': 122.105, 'text': "That's for the carriage return.", 'start': 120.483, 'duration': 1.622}, {'end': 125.029, 'text': 'And this right here is saying we want to output this on our screen.', 'start': 122.325, 'duration': 2.704}], 'summary': "Using namespace st simplifies coding. output 'hello world' using cout for screen display.", 'duration': 26.193, 'max_score': 98.836, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Rub-JsjMhWY/pics/Rub-JsjMhWY98836.jpg'}], 'start': 0.149, 'title': 'C++ programming basics', 'summary': "Covers the entire c++ programming language, including comments, libraries, main function, and basic output statements using cout, with the command 'return 0' for successful execution.", 'chapters': [{'end': 138.123, 'start': 0.149, 'title': 'C++ programming tutorial', 'summary': "Covers the entire c++ programming language in one video, including the use of comments, libraries, main function, and basic output statements using cout, with the command 'return 0' for successful execution.", 'duration': 137.974, 'highlights': ['Covering the entire C++ programming language in one video, including the use of comments, libraries, main function, and basic output statements using cout.', 'Explaining the use of comments in C++ with examples of single-line and multi-line comments.', 'Including outside libraries for using functions like cout, vectors, strings, and file.io, with a demonstration of code organization within the main function.', "Using 'using namespace' to avoid typing out 'std' every time and demonstrating a basic 'hello world' output statement using cout and 'return 0' for successful execution."]}], 'duration': 137.974, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Rub-JsjMhWY/pics/Rub-JsjMhWY149.jpg', 'highlights': ['Covering the entire C++ programming language in one video, including the use of comments, libraries, main function, and basic output statements using cout.', 'Including outside libraries for using functions like cout, vectors, strings, and file.io, with a demonstration of code organization within the main function.', "Using 'using namespace' to avoid typing out 'std' every time and demonstrating a basic 'hello world' output statement using cout and 'return 0' for successful execution.", 'Explaining the use of comments in C++ with examples of single-line and multi-line comments.']}, {'end': 701.861, 'segs': [{'end': 215.405, 'src': 'embed', 'start': 175.527, 'weight': 0, 'content': [{'end': 186.392, 'text': "which means that it contains floating-point numbers or decimal places, and here we're going to give it the value of 3.14, 159, 26, five, three, five,", 'start': 175.527, 'duration': 10.865}, {'end': 191.455, 'text': 'and once again, constant being here just means that this value cannot be changed.', 'start': 186.392, 'duration': 5.063}, {'end': 196.637, 'text': 'and normally, whenever you define constant variables, you make their names in all upper cases.', 'start': 191.455, 'duration': 5.182}, {'end': 205.062, 'text': 'other data types that are available to you are characters, which contain just one character, and they are going to be surrounded by single quotes.', 'start': 196.637, 'duration': 8.425}, {'end': 210.184, 'text': "so let's say i have a grade equal to and a right like that, and there you go.", 'start': 205.062, 'duration': 5.122}, {'end': 215.405, 'text': 'And a character very specifically is going to take up one byte inside of memory.', 'start': 210.444, 'duration': 4.961}], 'summary': 'The transcript covers the use of constant variables and character data types with an example of a constant value of 3.14 and the memory size of a character being one byte.', 'duration': 39.878, 'max_score': 175.527, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Rub-JsjMhWY/pics/Rub-JsjMhWY175527.jpg'}, {'end': 347.663, 'src': 'embed', 'start': 317.892, 'weight': 4, 'content': [{'end': 319.914, 'text': 'you could see how many bytes are in each one of those as well.', 'start': 317.892, 'duration': 2.022}, {'end': 324.741, 'text': "If you're wondering how big a number can be based off of bytes and so forth and so on,", 'start': 320.114, 'duration': 4.627}, {'end': 328.686, 'text': "let's go in here and let's create the largest int that we can possibly create.", 'start': 324.741, 'duration': 3.945}, {'end': 336.237, 'text': 'And whenever we know the fact how many bytes an int can contain, we can then go in and define exactly how large that number would be.', 'start': 329.047, 'duration': 7.19}, {'end': 339.959, 'text': 'and you can see right here, this is the biggest integer we could possibly have.', 'start': 336.557, 'duration': 3.402}, {'end': 347.663, 'text': "and if we went down here and said, hey, let's go and output that like this and you can see it prints out exactly the way that you would expect it to.", 'start': 339.959, 'duration': 7.704}], 'summary': 'Demonstrated creation of largest integer using bytes.', 'duration': 29.771, 'max_score': 317.892, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Rub-JsjMhWY/pics/Rub-JsjMhWY317892.jpg'}, {'end': 400.896, 'src': 'embed', 'start': 372.551, 'weight': 5, 'content': [{'end': 377.452, 'text': "We're also going to be able to use shorthand incremental notation as well as decremental.", 'start': 372.551, 'duration': 4.901}, {'end': 379.232, 'text': "I'll give you an example of what that looks like.", 'start': 377.472, 'duration': 1.76}, {'end': 384.959, 'text': 'You can see right there on your screen and exactly how you would perform addition if you wanted to output that on the screen like this.', 'start': 379.492, 'duration': 5.467}, {'end': 389.685, 'text': 'And to demonstrate the shortcuts for increments and decrements,', 'start': 385.48, 'duration': 4.205}, {'end': 394.171, 'text': "let's say that we have an int and I'm just going to call it 5 and give it the value of 5..", 'start': 389.685, 'duration': 4.486}, {'end': 397.094, 'text': "Then I'll put on our screen 5++.", 'start': 394.171, 'duration': 2.923}, {'end': 400.896, 'text': 'is equal to and then take the variable five five and increment it.', 'start': 397.094, 'duration': 3.802}], 'summary': 'Introducing shorthand incremental notation for easy addition and increments.', 'duration': 28.345, 'max_score': 372.551, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Rub-JsjMhWY/pics/Rub-JsjMhWY372551.jpg'}, {'end': 501.605, 'src': 'embed', 'start': 471.018, 'weight': 1, 'content': [{'end': 474.363, 'text': "it states that if you have some calculation that's being performed,", 'start': 471.018, 'duration': 3.345}, {'end': 479.329, 'text': 'the multiplication and division are going to be performed before any addition or subtraction.', 'start': 474.363, 'duration': 4.966}, {'end': 481.472, 'text': "And you can see right here exactly what we're doing.", 'start': 479.55, 'duration': 1.922}, {'end': 485.755, 'text': 'Here I have a braces around the additions and subtractions and up.', 'start': 481.632, 'duration': 4.123}, {'end': 486.596, 'text': 'here i do not.', 'start': 485.755, 'duration': 0.841}, {'end': 489.858, 'text': 'and here, if i execute, you can see, i get dramatically different results.', 'start': 486.596, 'duration': 3.262}, {'end': 490.658, 'text': 'why is that?', 'start': 489.858, 'duration': 0.8}, {'end': 494.701, 'text': 'well, in this situation, we are going to have the multiplication occur first.', 'start': 490.658, 'duration': 4.043}, {'end': 496.662, 'text': "that's where you're going to get six right here.", 'start': 494.701, 'duration': 1.961}, {'end': 501.605, 'text': "then we're going to jump in and have this add up to three, which comes to negative three.", 'start': 496.662, 'duration': 4.943}], 'summary': 'Multiplication and division precede addition and subtraction in calculations.', 'duration': 30.587, 'max_score': 471.018, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Rub-JsjMhWY/pics/Rub-JsjMhWY471018.jpg'}, {'end': 645.016, 'src': 'embed', 'start': 614.169, 'weight': 2, 'content': [{'end': 617.371, 'text': "And there's the logical operator.", 'start': 614.169, 'duration': 3.202}, {'end': 619.373, 'text': 'Make sure you close all the brackets off the right way.', 'start': 617.452, 'duration': 1.921}, {'end': 623.257, 'text': 'Age is less than 16 in this situation.', 'start': 619.774, 'duration': 3.483}, {'end': 626.62, 'text': "Well, in that situation, we're going to say that they cannot drive.", 'start': 623.537, 'duration': 3.083}, {'end': 630.188, 'text': "if we want to check another condition, we're just going to type in.", 'start': 626.966, 'duration': 3.222}, {'end': 633.99, 'text': "else if and in this situation let's check to see if they're intoxicated.", 'start': 630.188, 'duration': 3.802}, {'end': 639.593, 'text': "in this situation we're going to use the not symbol and we're going to say is not intoxicated,", 'start': 633.99, 'duration': 5.603}, {'end': 645.016, 'text': "and all that's going to do is take this true right here, the not in this situation, and turn it into false.", 'start': 639.593, 'duration': 5.423}], 'summary': 'Using logical operators to set age restrictions for driving, including checking for intoxication.', 'duration': 30.847, 'max_score': 614.169, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Rub-JsjMhWY/pics/Rub-JsjMhWY614169.jpg'}], 'start': 138.383, 'title': 'C++ basics and operations', 'summary': 'Covers the basics of c++ programming including variables and data types such as double, characters, booleans, ints, floats, and doubles, and arithmetic operations like plus, minus, multiplication, division, and modulus, as well as logical operations and if statements.', 'chapters': [{'end': 354.746, 'start': 138.383, 'title': 'C++ basics: variables and data types', 'summary': 'Covers the basics of c++ programming including defining and using variables, data types such as double, characters, booleans, ints, floats, and doubles, as well as determining the size of different data types and their maximum values.', 'duration': 216.363, 'highlights': ['Explaining the concept of constant variables and their naming conventions in C++. Constant variable of type double with the value of 3.1415926535.', 'Describing the different data types available in C++ including characters, booleans, ints, floats, and doubles. Characters take up one byte inside of memory, floats are accurate up to six decimal places, and doubles are accurate up to around 15 digits in length.', "Demonstrating how to determine the size of different data types using 'size of' and explaining the concept of defining the largest possible integer in C++. Size of an int is four bytes, and demonstrating the largest possible integer in C++."]}, {'end': 701.861, 'start': 354.746, 'title': 'Arithmetic and logical operations in c++', 'summary': 'Covers arithmetic operations like plus, minus, multiplication, division, and modulus, as well as shorthand incremental and decremental notation. it also explains the importance of order of operation and demonstrates the use of if statements with comparison and logical operators.', 'duration': 347.115, 'highlights': ['The importance of order of operation is emphasized, with a demonstration of how the placement of braces in arithmetic operations can produce dramatically different results. The chapter emphasizes the importance of using braces in arithmetic operations to control the order of operation, illustrated by a demonstration where the placement of braces in two arithmetic operations results in dramatically different outcomes.', 'The use of if statements with comparison and logical operators is explained through an example involving age, intoxication, and driving eligibility. The chapter provides an example demonstrating the use of if statements with comparison and logical operators to determine driving eligibility based on age and intoxication status, including a more complex conditional check involving multiple criteria.', 'The chapter demonstrates the use of shorthand incremental and decremental notation, along with shorthand assignment notation, to perform operations and assignments in a concise manner. The chapter demonstrates the use of shorthand incremental and decremental notation, as well as shorthand assignment notation, providing examples to illustrate their usage for performing operations and assignments in a concise manner.']}], 'duration': 563.478, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Rub-JsjMhWY/pics/Rub-JsjMhWY138383.jpg', 'highlights': ['Describing the different data types available in C++ including characters, booleans, ints, floats, and doubles. Characters take up one byte inside of memory, floats are accurate up to six decimal places, and doubles are accurate up to around 15 digits in length.', 'The importance of order of operation is emphasized, with a demonstration of how the placement of braces in arithmetic operations can produce dramatically different results. The chapter emphasizes the importance of using braces in arithmetic operations to control the order of operation, illustrated by a demonstration where the placement of braces in two arithmetic operations results in dramatically different outcomes.', 'The use of if statements with comparison and logical operators is explained through an example involving age, intoxication, and driving eligibility. The chapter provides an example demonstrating the use of if statements with comparison and logical operators to determine driving eligibility based on age and intoxication status, including a more complex conditional check involving multiple criteria.', 'Explaining the concept of constant variables and their naming conventions in C++. Constant variable of type double with the value of 3.1415926535.', "Demonstrating how to determine the size of different data types using 'size of' and explaining the concept of defining the largest possible integer in C++. Size of an int is four bytes, and demonstrating the largest possible integer in C++.", 'The chapter demonstrates the use of shorthand incremental and decremental notation, along with shorthand assignment notation, to perform operations and assignments in a concise manner. The chapter demonstrates the use of shorthand incremental and decremental notation, as well as shorthand assignment notation, providing examples to illustrate their usage for performing operations and assignments in a concise manner.']}, {'end': 1294.962, 'segs': [{'end': 731.787, 'src': 'embed', 'start': 701.861, 'weight': 1, 'content': [{'end': 706.823, 'text': "and then finally, for everything else that isn't checked, if we want them to have the ability to drive,", 'start': 701.861, 'duration': 4.962}, {'end': 712.386, 'text': "if they make it the whole way down here we're going to just type in else and there you go, you're going to see that that works for you.", 'start': 706.823, 'duration': 5.563}, {'end': 715.867, 'text': "and here, if we execute it, you're going to see that yes, indeed, this person can drive.", 'start': 712.386, 'duration': 3.481}, {'end': 721.574, 'text': "So that's a pretty convoluted example of how to use if statements as well as else and else if.", 'start': 716.207, 'duration': 5.367}, {'end': 727.061, 'text': "Now let's take a look at the switch statement which is basically going to be used whenever you have a limited number of possible options.", 'start': 721.834, 'duration': 5.227}, {'end': 731.787, 'text': "So let's say we have int greeting option and let's say they chose two.", 'start': 727.442, 'duration': 4.345}], 'summary': 'Demonstrating usage of if, else, else if, and switch statements in programming.', 'duration': 29.926, 'max_score': 701.861, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Rub-JsjMhWY/pics/Rub-JsjMhWY701861.jpg'}, {'end': 1030.895, 'src': 'embed', 'start': 1006.261, 'weight': 3, 'content': [{'end': 1012.725, 'text': "I'm going to say that we're going to continue incrementing as long as i is less than or equal to 10, and then we'll have to increment it right here.", 'start': 1006.261, 'duration': 6.464}, {'end': 1018.948, 'text': 'curly brackets, and inside of the for loop we could go c out and just print all of these on our screen,', 'start': 1012.725, 'duration': 6.223}, {'end': 1020.99, 'text': 'and there you can see it printed out 1 through 10.', 'start': 1018.948, 'duration': 2.042}, {'end': 1029.775, 'text': "now we could also come in here and use our multi-dimensional array by stacking inner for loops, and we'll just go for and integer.", 'start': 1020.99, 'duration': 8.785}, {'end': 1030.895, 'text': 'j is equal to 0.', 'start': 1029.775, 'duration': 1.12}], 'summary': 'Increment i until 10, print 1-10, and use multi-dimensional array', 'duration': 24.634, 'max_score': 1006.261, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Rub-JsjMhWY/pics/Rub-JsjMhWY1006261.jpg'}, {'end': 1116.747, 'src': 'embed', 'start': 1077.847, 'weight': 2, 'content': [{'end': 1079.969, 'text': "now let's take a look at while loops.", 'start': 1077.847, 'duration': 2.122}, {'end': 1084.791, 'text': "now you're going to use while loops instead of for loops when you don't know ahead of time when your loop is going to end.", 'start': 1079.969, 'duration': 4.822}, {'end': 1091.254, 'text': "So let's say we have a random number and this is how you would generate random numbers inside of C++.", 'start': 1085.111, 'duration': 6.143}, {'end': 1097.537, 'text': "We go rand, and let's say that I wanted to get random numbers between 1 and 100.", 'start': 1091.294, 'duration': 6.243}, {'end': 1099.458, 'text': 'Modulus 100, like that.', 'start': 1097.537, 'duration': 1.921}, {'end': 1105.121, 'text': "Now this guy alone is going to generate random numbers between 0 and 99, so if I want 1 to 100, I'm going to put a 1 right here.", 'start': 1099.718, 'duration': 5.403}, {'end': 1116.747, 'text': 'Now with the while loop, I can say that I want to continue cycling through this loop as long as random number is not equal to 100.', 'start': 1107.182, 'duration': 9.565}], 'summary': 'Using while loops for iterating when loop end is unknown, generating random numbers in c++.', 'duration': 38.9, 'max_score': 1077.847, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Rub-JsjMhWY/pics/Rub-JsjMhWY1077847.jpg'}, {'end': 1253.243, 'src': 'embed', 'start': 1223.639, 'weight': 0, 'content': [{'end': 1225.4, 'text': "And you're going to have to put a semicolon here at the end.", 'start': 1223.639, 'duration': 1.761}, {'end': 1226.541, 'text': "Don't forget that.", 'start': 1225.48, 'duration': 1.061}, {'end': 1229.175, 'text': "Now inside of this, we're going to get some user input.", 'start': 1226.874, 'duration': 2.301}, {'end': 1237.058, 'text': "We're going to start off by saying that the user of our program is to guess a number between 1 and 10.", 'start': 1229.315, 'duration': 7.743}, {'end': 1240.259, 'text': 'We want to allow our user to enter some input.', 'start': 1237.058, 'duration': 3.201}, {'end': 1242.699, 'text': "And to do that, we're going to type in get line.", 'start': 1240.459, 'duration': 2.24}, {'end': 1249.762, 'text': "We're going to type in CIN, which is going to be the source of the user input, which is going to be the keyboard in this situation.", 'start': 1242.98, 'duration': 6.782}, {'end': 1253.243, 'text': "And then we're going to have to say where we want that value to be stored in this situation.", 'start': 1250.002, 'duration': 3.241}], 'summary': 'Program prompts user to guess number between 1 and 10, using get line and cin for input.', 'duration': 29.604, 'max_score': 1223.639, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Rub-JsjMhWY/pics/Rub-JsjMhWY1223639.jpg'}], 'start': 701.861, 'title': 'Using if and switch statements, c++ basics', 'summary': 'Covers if statements, switch statements, ternary operator, arrays, loops, and user input in c++. it includes examples, syntax details, and sample code for practical understanding.', 'chapters': [{'end': 786.462, 'start': 701.861, 'title': 'Using if and switch statements in c++', 'summary': 'Demonstrates the use of if statements for conditional execution and switch statements for handling limited number of options in c++. it includes examples of using if, else, and else if, as well as a detailed explanation of switch statements and their syntax.', 'duration': 84.601, 'highlights': ['The chapter demonstrates the use of if statements for conditional execution and switch statements for handling limited number of options in C++.', 'It includes examples of using if, else, and else if, as well as a detailed explanation of switch statements and their syntax.', 'The example showcases the use of if, else, and else if statements to determine the ability to drive based on certain conditions.', 'The switch statement example illustrates the use of a limited number of possible options and how to handle each case using the switch statement.', "The use of 'break' statement within the switch case is highlighted to emphasize its role in exiting the switch statement after a case is matched."]}, {'end': 1294.962, 'start': 786.703, 'title': 'C++ basics: switch statement, ternary operator, arrays, loops and user input', 'summary': 'Covers the switch statement, ternary operator, array definition and usage, multi-dimensional arrays, for loops, while loops, do while loops, and user input in c++, including sample code and explanations.', 'duration': 508.259, 'highlights': ['The chapter covers the switch statement, ternary operator, array definition and usage, multi-dimensional arrays, for loops, while loops, do while loops, and user input in C++, including sample code and explanations. It provides a comprehensive overview of key concepts and features in C++ programming, offering practical examples and explanations.', 'The for loop allows you to continue executing code as long as a condition is true, and the chapter demonstrates printing numbers 1 through 10 using a for loop. It demonstrates the usage of for loops to print numbers 1 through 10, showcasing the iterative nature of for loops in C++ programming.', 'The chapter also covers while loops, used when the ending condition is not known ahead of time, and demonstrates the generation of random numbers and printing them on the screen using a while loop. It illustrates the usage of while loops for cycling through code when the ending condition is not predetermined, showcasing the generation and printing of random numbers.', "The do while loop is explained, highlighting its use when the code inside the loop needs to be executed at least once, and it's demonstrated through a basic guessing game. It explains the do while loop's functionality and demonstrates its use in a basic guessing game, emphasizing the execution of code inside the loop at least once.", 'The chapter also covers user input in C++ using the getline function to allow the user to enter input, convert strings to integers, and interact with the user through console input and output. It covers user input handling in C++ using the getline function, showcasing the conversion of strings to integers and enabling interaction with users through console I/O.']}], 'duration': 593.101, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Rub-JsjMhWY/pics/Rub-JsjMhWY701861.jpg', 'highlights': ['The chapter covers user input in C++ using the getline function to allow the user to enter input, convert strings to integers, and interact with the user through console input and output.', 'The chapter demonstrates the use of if statements for conditional execution and switch statements for handling limited number of options in C++.', 'The chapter also covers while loops, used when the ending condition is not known ahead of time, and demonstrates the generation of random numbers and printing them on the screen using a while loop.', 'The for loop allows you to continue executing code as long as a condition is true, and the chapter demonstrates printing numbers 1 through 10 using a for loop.', 'The example showcases the use of if, else, and else if statements to determine the ability to drive based on certain conditions.']}, {'end': 2093.905, 'segs': [{'end': 1324.239, 'src': 'embed', 'start': 1295.562, 'weight': 0, 'content': [{'end': 1300.566, 'text': "So there's user input converting from strings into integers, do wow, and a whole bunch of other different things.", 'start': 1295.562, 'duration': 5.004}, {'end': 1303.008, 'text': "Now let's take a deeper look at strings.", 'start': 1300.866, 'duration': 2.142}, {'end': 1308.892, 'text': 'Now in C++, in comparison to C, C++ is going to provide us with string objects.', 'start': 1303.348, 'duration': 5.544}, {'end': 1312.715, 'text': 'And like I said before, they are always going to be surrounded with double quotes.', 'start': 1309.272, 'duration': 3.443}, {'end': 1319.957, 'text': 'And just to cover this real briefly, inside of C, you would have previously made strings by saying something like happy array.', 'start': 1313.215, 'duration': 6.742}, {'end': 1324.239, 'text': 'six, like this is equal to, and then created a character array.', 'start': 1319.957, 'duration': 4.282}], 'summary': 'C++ provides string objects, always surrounded by double quotes, compared to c.', 'duration': 28.677, 'max_score': 1295.562, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Rub-JsjMhWY/pics/Rub-JsjMhWY1295562.jpg'}, {'end': 1361.148, 'src': 'embed', 'start': 1333.282, 'weight': 2, 'content': [{'end': 1336.681, 'text': 'The C++ way is much better and easier.', 'start': 1333.282, 'duration': 3.399}, {'end': 1341.883, 'text': "so we're going to say string, birthday string is equal to space in there birthday.", 'start': 1336.681, 'duration': 5.202}, {'end': 1342.363, 'text': 'and there we are.', 'start': 1341.883, 'duration': 0.48}, {'end': 1342.923, 'text': "we're done.", 'start': 1342.363, 'duration': 0.56}, {'end': 1350.945, 'text': "now we could of course combine these guys, and how we're going to combine them is with the concatenation operator or just the plus sign,", 'start': 1342.923, 'duration': 8.022}, {'end': 1352.585, 'text': 'or you can just call it combined.', 'start': 1350.945, 'duration': 1.64}, {'end': 1353.745, 'text': 'you can call it whatever you want.', 'start': 1352.585, 'duration': 1.16}, {'end': 1358.847, 'text': 'so birthday string, and there you can see it printed happy birthday, Combine both of those, print them out to screen.', 'start': 1353.745, 'duration': 5.102}, {'end': 1361.148, 'text': "Then I'll perform a couple other different operations.", 'start': 1359.047, 'duration': 2.101}], 'summary': 'Using c++ to concatenate strings and perform operations for a birthday message.', 'duration': 27.866, 'max_score': 1333.282, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Rub-JsjMhWY/pics/Rub-JsjMhWY1333282.jpg'}, {'end': 1569.095, 'src': 'heatmap', 'start': 1520.558, 'weight': 1, 'content': [{'end': 1524.904, 'text': "and let's change this to dog and this to cat and change this to dog.", 'start': 1520.558, 'duration': 4.346}, {'end': 1532.495, 'text': "and you can see in this situation, whenever a value is equal, like it is here dog string and dog string you're going to get a return value of zero.", 'start': 1524.904, 'duration': 7.591}, {'end': 1539.001, 'text': "you're going to receive a one in this situation if it's less than, and a negative one if it's greater than.", 'start': 1532.495, 'duration': 6.506}, {'end': 1540.861, 'text': 'and this is all based off of alphabetical.', 'start': 1539.001, 'duration': 1.86}, {'end': 1546.023, 'text': 'so we could also come in here and assign copies of a value to another string.', 'start': 1540.861, 'duration': 5.162}, {'end': 1552.866, 'text': 'we go whole name is equal to, and go your name, assign and I could say your name, and there you go.', 'start': 1546.023, 'duration': 6.843}, {'end': 1554.747, 'text': 'I could then get a substring.', 'start': 1552.866, 'duration': 1.881}, {'end': 1557.328, 'text': "so let's say that I wanted to get the first name.", 'start': 1554.747, 'duration': 2.581}, {'end': 1564.512, 'text': 'well, I would go whole name like that and I would pass in the string I want to work with, then the starting index,', 'start': 1557.328, 'duration': 7.184}, {'end': 1569.095, 'text': 'from which I want to first start pulling characters, and then the number of characters I want, which is 5..', 'start': 1564.512, 'duration': 4.583}], 'summary': 'Comparing strings and extracting substrings based on index and length.', 'duration': 48.537, 'max_score': 1520.558, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Rub-JsjMhWY/pics/Rub-JsjMhWY1520558.jpg'}, {'end': 1833.501, 'src': 'embed', 'start': 1808.657, 'weight': 5, 'content': [{'end': 1814.002, 'text': 'And then finally, if we wanted to get the size of our vector, we could do that with size.', 'start': 1808.657, 'duration': 5.345}, {'end': 1816.925, 'text': "So there's a rundown of all we can do with vectors.", 'start': 1814.403, 'duration': 2.522}, {'end': 1820.128, 'text': "Now let's take a look at what we can do with functions inside of C++.", 'start': 1816.985, 'duration': 3.143}, {'end': 1827.696, 'text': 'Now your functions are actually going to appear before your main function, and it basically just has the return type.', 'start': 1821.169, 'duration': 6.527}, {'end': 1831.319, 'text': "So let's say that we wanted to have a function that added numbers.", 'start': 1827.756, 'duration': 3.563}, {'end': 1833.501, 'text': 'We would have our return type for our function.', 'start': 1831.419, 'duration': 2.082}], 'summary': 'Exploring vector operations and function usage in c++.', 'duration': 24.844, 'max_score': 1808.657, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Rub-JsjMhWY/pics/Rub-JsjMhWY1808657.jpg'}], 'start': 1295.562, 'title': 'C++ basics', 'summary': 'Covers user input, string manipulation, and functions in c++, including examples such as getting user input, converting string to double, string manipulation functions, comparing strings, using vectors with examples of inserting, resizing, and accessing elements, and creating and using functions including examples of function overloading and recursive functions.', 'chapters': [{'end': 1371.053, 'start': 1295.562, 'title': 'C++ string objects and operations', 'summary': 'Covers the advantages of using string objects in c++ over character arrays in c, highlighting the simplified syntax and ease of use, along with demonstrating the concatenation operator and user input handling.', 'duration': 75.491, 'highlights': ['C++ provides string objects which offer a more convenient way than using character arrays in C for handling strings, with the advantage of being surrounded by double quotes.', 'Demonstrates the simplified approach of creating strings in C++ using the string class, as opposed to the more complex process involving character arrays and null terminators in C.', 'Illustrates the usage of the concatenation operator (+) to combine string objects, showcasing the ease of concatenating strings in C++.', 'Emphasizes the importance of defining variables before use and demonstrates the process of obtaining user input in C++.']}, {'end': 2093.905, 'start': 1371.273, 'title': 'C++ basics: user input, string manipulation, and functions', 'summary': 'Covers user input, string manipulation, and functions in c++, including examples such as getting user input, converting string to double, string manipulation functions, comparing strings, using vectors with examples of inserting, resizing, and accessing elements, and creating and using functions including examples of function overloading and recursive functions.', 'duration': 722.632, 'highlights': ['User Input and String Manipulation Demonstrates user input and string manipulation, including converting string to double, checking string size and emptiness, appending strings, comparing strings, assigning copies of a value to another string, getting a substring, performing a search on a string, inserting, erasing, and replacing characters in a string.', 'Vectors in C++ Explains the usage of vectors in C++, including creating and initializing vectors, inserting arrays into vectors, accessing elements, adding, removing, and accessing elements at specific positions, checking if the vector is empty, and getting the size of the vector.', 'Functions in C++ Covers the creation and usage of functions in C++, including function prototypes, passing default values to functions, overloading functions, and creating a recursive function to calculate the factorial of a number.']}], 'duration': 798.343, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Rub-JsjMhWY/pics/Rub-JsjMhWY1295562.jpg', 'highlights': ['C++ provides string objects for handling strings, offering a more convenient way than using character arrays in C.', 'Demonstrates the simplified approach of creating strings in C++ using the string class.', 'Illustrates the usage of the concatenation operator (+) to combine string objects in C++.', 'Emphasizes the importance of defining variables before use and obtaining user input in C++.', 'Demonstrates user input and string manipulation, including converting string to double, checking string size and emptiness, appending strings, comparing strings, assigning copies of a value to another string, getting a substring, performing a search on a string, inserting, erasing, and replacing characters in a string.', 'Explains the usage of vectors in C++, including creating and initializing vectors, inserting arrays into vectors, accessing elements, adding, removing, and accessing elements at specific positions, checking if the vector is empty, and getting the size of the vector.', 'Covers the creation and usage of functions in C++, including function prototypes, passing default values to functions, overloading functions, and creating a recursive function to calculate the factorial of a number.']}, {'end': 2772.617, 'segs': [{'end': 2124.223, 'src': 'embed', 'start': 2093.925, 'weight': 0, 'content': [{'end': 2097.387, 'text': "So there's a rundown of functions inside of C++.", 'start': 2093.925, 'duration': 3.462}, {'end': 2099.468, 'text': 'Now I want to cover file I.O.', 'start': 2097.867, 'duration': 1.601}, {'end': 2103.53, 'text': 'or how to read and write files using either text or machine readable binary.', 'start': 2099.528, 'duration': 4.002}, {'end': 2105.231, 'text': "So I'm going to create a string here.", 'start': 2103.55, 'duration': 1.681}, {'end': 2107.212, 'text': "I'm going to call this SteveQuote.", 'start': 2105.571, 'duration': 1.641}, {'end': 2114.197, 'text': "It's equal to, and I'm going to say a day without sunshine is like, you know, night.", 'start': 2107.552, 'duration': 6.645}, {'end': 2119.961, 'text': "Now what I'm going to have to do is create an output file stream to create this file if it doesn't exist.", 'start': 2114.317, 'duration': 5.644}, {'end': 2124.223, 'text': "Or what it will do is create a function or create a file if it doesn't exist.", 'start': 2120.261, 'duration': 3.962}], 'summary': 'Covering file i.o. in c++, creating a string, and utilizing output file stream to create or write files.', 'duration': 30.298, 'max_score': 2093.925, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Rub-JsjMhWY/pics/Rub-JsjMhWY2093925.jpg'}, {'end': 2211.978, 'src': 'embed', 'start': 2186.385, 'weight': 2, 'content': [{'end': 2191.907, 'text': "now there's a whole bunch of different symbols we can use here to do different things with files.", 'start': 2186.385, 'duration': 5.522}, {'end': 2196.549, 'text': "like i just said, with ios app we're going to be able to append to the end of the file.", 'start': 2191.907, 'duration': 4.642}, {'end': 2200.091, 'text': "with ios binary, we're going to be able to treat the file as if it's binary.", 'start': 2196.549, 'duration': 3.542}, {'end': 2203.813, 'text': "ios in is going to open a file to read input, which you're going to see here in a minute.", 'start': 2200.091, 'duration': 3.722}, {'end': 2205.593, 'text': 'ios trunk is the default.', 'start': 2203.813, 'duration': 1.78}, {'end': 2211.978, 'text': "what happens whenever you don't use one of these symbols, and then ios out is going to open a file to write output.", 'start': 2205.593, 'duration': 6.385}], 'summary': 'Different symbols in ios for file operations: append, binary, input, default, output.', 'duration': 25.593, 'max_score': 2186.385, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Rub-JsjMhWY/pics/Rub-JsjMhWY2186385.jpg'}, {'end': 2275.965, 'src': 'embed', 'start': 2244.935, 'weight': 1, 'content': [{'end': 2248.856, 'text': 'All right, so we wrote and we appended and we created the file and did all that.', 'start': 2244.935, 'duration': 3.921}, {'end': 2253.978, 'text': "Now I'm going to create a character that's going to hold each of the individual characters we're going to read from our file.", 'start': 2249.116, 'duration': 4.862}, {'end': 2257.859, 'text': "and we're going to read these characters using an input file stream.", 'start': 2254.338, 'duration': 3.521}, {'end': 2264.922, 'text': "so input file stream and i'm going to call this reader and you need to tell it exactly what file you're going to be reading from,", 'start': 2257.859, 'duration': 7.063}, {'end': 2268.903, 'text': "and then i'm going to check if that stream is going to be open, just like we did before.", 'start': 2264.922, 'duration': 3.981}, {'end': 2275.965, 'text': 'put the reader inside of there, come in here and print error again, return error code negative one else.', 'start': 2268.903, 'duration': 7.062}], 'summary': 'Created and read characters from a file using an input file stream.', 'duration': 31.03, 'max_score': 2244.935, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Rub-JsjMhWY/pics/Rub-JsjMhWY2244935.jpg'}, {'end': 2357.529, 'src': 'embed', 'start': 2326.119, 'weight': 3, 'content': [{'end': 2331.68, 'text': "In this situation, I'm just going to focus on one, which is a division by zero error that could cause all kinds of problems.", 'start': 2326.119, 'duration': 5.561}, {'end': 2336.882, 'text': 'Now, whenever you want to cover something that could cause an exception or an error that you want to be able to catch,', 'start': 2331.921, 'duration': 4.961}, {'end': 2341.523, 'text': "you're going to surround the code that could potentially cause that error inside of what's called a try block.", 'start': 2336.882, 'duration': 4.641}, {'end': 2349.546, 'text': "And then what we're going to do is we're going to save an if statement inside here that says if the number is not equal to 0.", 'start': 2341.843, 'duration': 7.703}, {'end': 2357.529, 'text': 'well, in that situation we can say cout and divide by number, like we have there, but as we can see,', 'start': 2349.546, 'duration': 7.983}], 'summary': 'Focus on preventing division by zero error using try block and if statement.', 'duration': 31.41, 'max_score': 2326.119, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Rub-JsjMhWY/pics/Rub-JsjMhWY2326119.jpg'}, {'end': 2572.023, 'src': 'embed', 'start': 2549.265, 'weight': 4, 'content': [{'end': 2556.971, 'text': "You'll see here with this pointer, we'll now be able to get the memory address as well as the data that is stored at that memory address.", 'start': 2549.265, 'duration': 7.706}, {'end': 2559.433, 'text': "Let's take a look at arrays as well.", 'start': 2557.332, 'duration': 2.101}, {'end': 2563.316, 'text': "Let's say we have our bad numbers array, just like we used previously.", 'start': 2559.653, 'duration': 3.663}, {'end': 2572.023, 'text': "We can then go int star to create a pointer and we'll call this number array pointer is equal to bad nums.", 'start': 2563.496, 'duration': 8.527}], 'summary': 'Introduction to accessing memory address and data in arrays using pointers.', 'duration': 22.758, 'max_score': 2549.265, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Rub-JsjMhWY/pics/Rub-JsjMhWY2549265.jpg'}, {'end': 2714.648, 'src': 'heatmap', 'start': 2665.442, 'weight': 0.734, 'content': [{'end': 2667.923, 'text': 'I used to be like that.', 'start': 2665.442, 'duration': 2.481}, {'end': 2672.725, 'text': "And to get the value of age, I put a star and age, because otherwise it's a memory address.", 'start': 2668.264, 'duration': 4.461}, {'end': 2674.026, 'text': 'I have to put that star in there.', 'start': 2672.745, 'duration': 1.281}, {'end': 2678.649, 'text': 'But then I can also go in and change that value by putting star and age is equal to 21.', 'start': 2674.266, 'duration': 4.383}, {'end': 2680.39, 'text': "Don't return anything.", 'start': 2678.649, 'duration': 1.741}, {'end': 2681.911, 'text': "Don't have to do anything otherwise.", 'start': 2680.43, 'duration': 1.481}, {'end': 2685.474, 'text': 'Then I can come down here and call make me young.', 'start': 2682.272, 'duration': 3.202}, {'end': 2690.938, 'text': "And if I want to pass a reference to that guy, passing by reference, that's all that means.", 'start': 2685.754, 'duration': 5.184}, {'end': 2691.839, 'text': 'I can do that.', 'start': 2691.318, 'duration': 0.521}, {'end': 2697.983, 'text': "And then I could put I'm and then just to check or verify that it actually changed that age.", 'start': 2692.099, 'duration': 5.884}, {'end': 2699.883, 'text': 'I can do this and you can see.', 'start': 2698.283, 'duration': 1.6}, {'end': 2701.364, 'text': 'I used to be 39.', 'start': 2700.144, 'duration': 1.22}, {'end': 2702.504, 'text': 'That came from the function.', 'start': 2701.364, 'duration': 1.14}, {'end': 2707.426, 'text': 'Then we changed it to 21 inside of the function and then you can see here that it changed globally.', 'start': 2702.684, 'duration': 4.742}, {'end': 2714.648, 'text': 'You can also come in here and once again this ampersand is going to denote that age reference will be a reference to the assigned variable.', 'start': 2707.446, 'duration': 7.202}], 'summary': 'Using references to change age globally to 21 from 39 in a function call.', 'duration': 49.206, 'max_score': 2665.442, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Rub-JsjMhWY/pics/Rub-JsjMhWY2665442.jpg'}], 'start': 2093.925, 'title': 'C++ file i.o. basics and exception handling', 'summary': 'Covers c++ file input/output basics including creating, writing, appending, and reading from files using file streams with examples and c++ exception handling with try-catch blocks, pointers, and passing by value and reference.', 'chapters': [{'end': 2309.145, 'start': 2093.925, 'title': 'C++ file i.o. basics', 'summary': 'Covers the basics of file input/output in c++, including creating, writing to, appending to, and reading from files using file streams, with examples of file stream operations, such as open, write, append, and read, and use of file stream flags like ios app, ios binary, ios in, ios out, and ios trunc.', 'duration': 215.22, 'highlights': ['The chapter covers the basics of file input/output in C++ The chapter provides an overview of file input/output operations in C++, including creating, writing to, appending to, and reading from files using file streams.', 'Examples of file stream operations, such as open, write, append, and read, are presented The chapter includes examples of file stream operations, such as opening a file, writing to a file, appending to a file, and reading from a file using file streams.', 'Use of file stream flags like ios app, ios binary, ios in, ios out, and ios trunc is demonstrated The chapter demonstrates the use of file stream flags like ios app, ios binary, ios in, ios out, and ios trunc, which enable different file operations such as appending, treating the file as binary, opening for input, opening for output, and default file opening behavior, respectively.']}, {'end': 2772.617, 'start': 2309.145, 'title': 'C++ exception handling and pointers', 'summary': 'Covers exception handling to avoid potential problems, such as a division by zero error, by using try-catch blocks and demonstrates the use of pointers to reference memory addresses and arrays, as well as the difference between passing by value and passing by reference in functions.', 'duration': 463.472, 'highlights': ['The chapter covers exception handling to avoid potential problems, such as a division by zero error, by using try-catch blocks. Exception handling allows avoiding potential problems, like a division by zero error, using try-catch blocks.', 'The chapter demonstrates the use of pointers to reference memory addresses and arrays, as well as the difference between passing by value and passing by reference in functions. The use of pointers to reference memory addresses and arrays is demonstrated, along with the difference between passing by value and passing by reference in functions.']}], 'duration': 678.692, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Rub-JsjMhWY/pics/Rub-JsjMhWY2093925.jpg', 'highlights': ['The chapter provides an overview of file input/output operations in C++, including creating, writing to, appending to, and reading from files using file streams.', 'The chapter includes examples of file stream operations, such as opening a file, writing to a file, appending to a file, and reading from a file using file streams.', 'The chapter demonstrates the use of file stream flags like ios app, ios binary, ios in, ios out, and ios trunc, which enable different file operations such as appending, treating the file as binary, opening for input, opening for output, and default file opening behavior, respectively.', 'Exception handling allows avoiding potential problems, like a division by zero error, using try-catch blocks.', 'The use of pointers to reference memory addresses and arrays is demonstrated, along with the difference between passing by value and passing by reference in functions.']}, {'end': 3287.563, 'segs': [{'end': 2816.356, 'src': 'embed', 'start': 2789.637, 'weight': 4, 'content': [{'end': 2795.101, 'text': "Basically, you should use pointers if you don't want to have to initialize at declaration.", 'start': 2789.637, 'duration': 5.464}, {'end': 2804.127, 'text': "What that means is, you can see right here, I am defining or initializing what I'm referencing whenever I am using the reference option.", 'start': 2795.221, 'duration': 8.906}, {'end': 2809.011, 'text': 'Whenever I am dealing with pointers, I do not need to immediately initialize.', 'start': 2804.327, 'duration': 4.684}, {'end': 2813.934, 'text': "And then on top of that, with a pointer, I'm going to be able to assign another variable to it.", 'start': 2809.371, 'duration': 4.563}, {'end': 2816.356, 'text': 'So a pointer is going to be able to deal with more than one.', 'start': 2813.974, 'duration': 2.382}], 'summary': 'Using pointers allows for deferred initialization and multiple assignments.', 'duration': 26.719, 'max_score': 2789.637, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Rub-JsjMhWY/pics/Rub-JsjMhWY2789637.jpg'}, {'end': 2923.535, 'src': 'embed', 'start': 2897.001, 'weight': 0, 'content': [{'end': 2901.883, 'text': "So I'm going to have my name, height, and weight all be private.", 'start': 2897.001, 'duration': 4.882}, {'end': 2905.084, 'text': "And while I'm in here, I might as well talk about static variables.", 'start': 2902.203, 'duration': 2.881}, {'end': 2908.406, 'text': 'Basically, if you put static in front of something,', 'start': 2905.224, 'duration': 3.182}, {'end': 2916.089, 'text': "all that means is that this variable's value is going to be shared by every object of type animal that is ever created.", 'start': 2908.406, 'duration': 7.683}, {'end': 2923.535, 'text': "So let's say that I want to also keep track of the number of animals that are created from my class.", 'start': 2916.289, 'duration': 7.246}], 'summary': 'Class variables can be shared by all objects, such as tracking the number of animals created.', 'duration': 26.534, 'max_score': 2897.001, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Rub-JsjMhWY/pics/Rub-JsjMhWY2897001.jpg'}, {'end': 3070.451, 'src': 'embed', 'start': 3039.896, 'weight': 2, 'content': [{'end': 3042.839, 'text': "you're gonna see it, and that's how we declare a prototype.", 'start': 3039.896, 'duration': 2.943}, {'end': 3047.463, 'text': 'another thing we would want to have is a constructor, And what a constructor is?', 'start': 3042.839, 'duration': 4.624}, {'end': 3050.403, 'text': "first off its name is going to start with, whatever the class's name is.", 'start': 3047.463, 'duration': 2.94}, {'end': 3053.424, 'text': "And then here, we're going to create a prototype of that.", 'start': 3050.704, 'duration': 2.72}, {'end': 3058.586, 'text': 'And this is going to be the function that is going to be called whenever an object is created.', 'start': 3053.745, 'duration': 4.841}, {'end': 3061.447, 'text': 'And so it will pass in the height, the weight, and the name.', 'start': 3058.886, 'duration': 2.561}, {'end': 3064.908, 'text': 'And the constructor is going to handle creating every object.', 'start': 3061.587, 'duration': 3.321}, {'end': 3070.451, 'text': 'If we have a constructor, we also should have a destructor and it just has that little tilde sign there.', 'start': 3064.928, 'duration': 5.523}], 'summary': 'The prototype declaration, constructor, and destructor are essential in object creation.', 'duration': 30.555, 'max_score': 3039.896, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Rub-JsjMhWY/pics/Rub-JsjMhWY3039896.jpg'}, {'end': 3120.002, 'src': 'embed', 'start': 3092.407, 'weight': 1, 'content': [{'end': 3096.492, 'text': "There's also protected members when, basically, whenever we're dealing with protected,", 'start': 3092.407, 'duration': 4.085}, {'end': 3101.217, 'text': "what we're saying is that anything marked as protected is going to be available to members of the same class.", 'start': 3096.492, 'duration': 4.725}, {'end': 3108.299, 'text': 'as well subclasses but nothing else and we could also come in here and define a static method,', 'start': 3101.617, 'duration': 6.682}, {'end': 3114.521, 'text': 'and a static method is set aside because they are attached to the class and not to the object.', 'start': 3108.299, 'duration': 6.222}, {'end': 3120.002, 'text': "as you can see, I'm going to show you in a second how to actually call for a static method, and in this situation,", 'start': 3114.521, 'duration': 5.481}], 'summary': 'Explaining protected and static methods in classes.', 'duration': 27.595, 'max_score': 3092.407, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Rub-JsjMhWY/pics/Rub-JsjMhWY3092407.jpg'}, {'end': 3220.46, 'src': 'embed', 'start': 3196.96, 'weight': 3, 'content': [{'end': 3205.147, 'text': 'Now if you want to refer to an object-specific height and not just a generic type of height, you put this inside of here.', 'start': 3196.96, 'duration': 8.187}, {'end': 3210.772, 'text': 'And the reason we have to do that is whenever the class is created, there are no animal objects created.', 'start': 3205.387, 'duration': 5.385}, {'end': 3219.56, 'text': 'So if we want to refer to the animals, you know, the specific animal objects version or value for height, we have to put this in front of it.', 'start': 3210.852, 'duration': 8.708}, {'end': 3220.46, 'text': 'And there we go.', 'start': 3219.82, 'duration': 0.64}], 'summary': 'Explaining how to refer to object-specific height in a class.', 'duration': 23.5, 'max_score': 3196.96, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Rub-JsjMhWY/pics/Rub-JsjMhWY3196960.jpg'}], 'start': 2772.877, 'title': 'Oop pointers, references, and class declaration', 'summary': 'Covers the difference between pointers and references in oop, when to use them, and the basics of class declaration, including member functions, constructor, destructor, overloading, and static methods, with an emphasis on prototype and constructor functions.', 'chapters': [{'end': 3020.707, 'start': 2772.877, 'title': 'Pointers vs references and classes in oop', 'summary': 'Demonstrates the difference between passing by reference and passing by pointer, when to use pointers or references, and the basics of classes in object-oriented programming, including encapsulation and static variables.', 'duration': 247.83, 'highlights': ['Demonstrated the difference between passing by reference and passing by pointer. The demonstration showed the distinction between passing by reference and passing by pointer.', 'Explained when to use pointers or references, emphasizing the need for pointers if immediate initialization is not required and the ability to assign another variable to a pointer. Highlighted the factors for using pointers over references, such as the absence of immediate initialization and the capability to assign multiple variables to a pointer.', 'Discussed the basics of classes in object-oriented programming, including encapsulation and modeling real-world objects with attributes and capabilities. Outlined the fundamental concepts of classes in object-oriented programming, covering encapsulation and the modeling of real-world objects with attributes and capabilities.', 'Explained the concept of static variables and their role in shared values across all objects of a class, along with the need for public methods to access private variables. Highlighted the purpose of static variables for shared values and the necessity of public methods to access private variables within a class.']}, {'end': 3287.563, 'start': 3020.707, 'title': 'Class declaration and member functions', 'summary': 'Details the process of declaring a class, including the creation of member functions, constructor, destructor, overloading, protected members, static methods, and object-specific references, and it emphasizes the importance of prototype and constructor functions for class declaration.', 'duration': 266.856, 'highlights': ['The process of declaring a class, including member functions such as set all, constructor, destructor, overloading, protected members, static methods, and object-specific references, is detailed.', 'The importance of prototype and constructor functions for class declaration is emphasized, as they handle the creation of objects and have the ability to overload functions.', "The significance of using 'this' to refer to object-specific attributes is explained, as it allows the code to distinguish specific object instances and their attributes.", 'The concept of overloading functions, where functions with the same name have different attributes, is highlighted as an example of overloading is provided with different constructor parameters.']}], 'duration': 514.686, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Rub-JsjMhWY/pics/Rub-JsjMhWY2772877.jpg', 'highlights': ['Explained the concept of static variables and their role in shared values across all objects of a class, along with the need for public methods to access private variables.', 'The process of declaring a class, including member functions such as set all, constructor, destructor, overloading, protected members, static methods, and object-specific references, is detailed.', 'The importance of prototype and constructor functions for class declaration is emphasized, as they handle the creation of objects and have the ability to overload functions.', "The significance of using 'this' to refer to object-specific attributes is explained, as it allows the code to distinguish specific object instances and their attributes.", 'Explained when to use pointers or references, emphasizing the need for pointers if immediate initialization is not required and the ability to assign another variable to a pointer.']}, {'end': 4232.471, 'segs': [{'end': 3662.44, 'src': 'embed', 'start': 3632.857, 'weight': 1, 'content': [{'end': 3637.058, 'text': 'If I also just wanna demonstrate using static methods here.', 'start': 3632.857, 'duration': 4.201}, {'end': 3646.865, 'text': 'go cout number of animals that were created animal and to call a static method, you go get num of animals.', 'start': 3637.058, 'duration': 9.807}, {'end': 3648.246, 'text': "believe that's what they called it.", 'start': 3646.865, 'duration': 1.381}, {'end': 3649.408, 'text': 'find out in a second.', 'start': 3648.246, 'duration': 1.162}, {'end': 3657.516, 'text': "and now i'm also going to be able to go spot dot, get sound, and we could also go in and get tom test to string,", 'start': 3649.408, 'duration': 8.108}, {'end': 3662.44, 'text': 'which basically does what all that other stuff did up there spot dot to string.', 'start': 3657.516, 'duration': 4.924}], 'summary': 'Demonstrating usage of static methods, including calling getnumofanimals.', 'duration': 29.583, 'max_score': 3632.857, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Rub-JsjMhWY/pics/Rub-JsjMhWY3632857.jpg'}, {'end': 3759.756, 'src': 'embed', 'start': 3732.662, 'weight': 0, 'content': [{'end': 3738.824, 'text': 'And then finally, you can see right here where the destructors are called and all of our objects are destroyed.', 'start': 3732.662, 'duration': 6.162}, {'end': 3742.906, 'text': "Okay, now it's time to talk about virtual methods and polymorphism.", 'start': 3739.065, 'duration': 3.841}, {'end': 3749.329, 'text': "I'm going to hold off on the definition for polymorphism here and instead create a new animal class.", 'start': 3743.466, 'duration': 5.863}, {'end': 3752.73, 'text': "And it's going to have some public stuff that it does.", 'start': 3750.009, 'duration': 2.721}, {'end': 3759.756, 'text': "And what it's going to do here first off is get family, which I'm going to refer to as a family of objects.", 'start': 3753.27, 'duration': 6.486}], 'summary': 'Discussion of destructors and introduction to virtual methods and polymorphism.', 'duration': 27.094, 'max_score': 3732.662, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Rub-JsjMhWY/pics/Rub-JsjMhWY3732662.jpg'}], 'start': 3287.803, 'title': 'Object-oriented programming basics, creating a dog class, and virtual methods and polymorphism in c++', 'summary': "Covers the implementation of classes, constructors, and inheritance, creating a dog class inheriting from the animal class, explaining virtual methods and polymorphism in c++, and showcases the creation and manipulation of animal objects, the execution of class methods, and the concept's application and usage.", 'chapters': [{'end': 3458.164, 'start': 3287.803, 'title': 'Object-oriented programming basics', 'summary': 'Introduces the implementation of classes, constructors, destructors, and inheritance in object-oriented programming, demonstrating the creation and manipulation of animal objects with specific attributes and methods, as well as the execution of destructors to release memory, with examples of fred and tom objects displaying their respective attributes.', 'duration': 170.361, 'highlights': ['The chapter covers the implementation of classes, constructors, destructors, and inheritance in object-oriented programming, showcasing the creation and manipulation of animal objects with specific attributes and methods. It also demonstrates the execution of destructors to release memory, with examples of Fred and Tom objects displaying their respective attributes.', 'The chapter emphasizes the creation and manipulation of animal objects, with specific attributes such as height and weight, and methods like getName and toString, showcasing the use of constructors and the differences between default and overloaded constructors.', 'The chapter showcases the execution of destructors to release memory for the Fred and Tom objects, emphasizing the cleanup process and the release of memory once the objects are no longer needed.']}, {'end': 3732.462, 'start': 3458.264, 'title': 'Creating a dog class', 'summary': 'Explains the process of creating a new dog class inheriting from the animal class, defining constructors and methods, and demonstrating the use of static methods, resulting in the creation of three animals with sound attributes and the successful execution of class methods.', 'duration': 274.198, 'highlights': ["Demonstrating the use of static methods by calling get num of animals and showcasing the creation of three animals including the dog with the sound attribute 'wolf', resulting in the display of '3' as the number of animals created. 3 animals created", "Defining the constructor for the dog class with parameters for height, weight, name, and sound, utilizing the animal constructor for height and weight, and setting the sound attribute specifically for the dog class as 'bark', showcasing the efficient use of inheritance and attribute modification. ", "Creating a new dog object named Spot with specific attributes and demonstrating the use of the get sound and toString methods, resulting in the display of 'wolf' as Spot's sound and the successful execution of the superclass and object-specific methods. Dog object created with specific attributes and sound 'wolf'"]}, {'end': 4232.471, 'start': 3732.662, 'title': 'Virtual methods and polymorphism in c++', 'summary': "Discusses virtual methods and polymorphism in c++, including examples of defining virtual methods, creating subclasses, demonstrating polymorphism with animals, and implementing abstract data types, ultimately showcasing the concept's application and usage.", 'duration': 499.809, 'highlights': ['The chapter discusses virtual methods and polymorphism in C++ It covers the fundamental concepts of virtual methods and polymorphism in C++.', "Examples of defining virtual methods and creating subclasses are provided The transcript illustrates the process of defining virtual methods and creating subclasses such as 'animal' and 'dog' in C++.", 'Demonstration of polymorphism with animals and implementation of abstract data types is presented Several examples of polymorphism with animals and the implementation of abstract data types are demonstrated using C++.']}], 'duration': 944.668, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Rub-JsjMhWY/pics/Rub-JsjMhWY3287803.jpg', 'highlights': ['The chapter covers the implementation of classes, constructors, and inheritance in object-oriented programming, showcasing the creation and manipulation of animal objects with specific attributes and methods.', "Demonstrating the use of static methods by calling get num of animals and showcasing the creation of three animals including the dog with the sound attribute 'wolf', resulting in the display of '3' as the number of animals created.", 'The chapter discusses virtual methods and polymorphism in C++ It covers the fundamental concepts of virtual methods and polymorphism in C++.']}], 'highlights': ['Covers c++ programming basics, operations, if and switch statements, user input, string manipulation, file i/o, oop pointers, references, class declaration, and virtual methods.', 'Describing the different data types available in C++ including characters, booleans, ints, floats, and doubles.', 'The chapter covers user input in C++ using the getline function to allow the user to enter input, convert strings to integers, and interact with the user through console input and output.', 'C++ provides string objects for handling strings, offering a more convenient way than using character arrays in C.', 'The chapter provides an overview of file input/output operations in C++, including creating, writing to, appending to, and reading from files using file streams.', 'Explained the concept of static variables and their role in shared values across all objects of a class, along with the need for public methods to access private variables.', 'The chapter covers the implementation of classes, constructors, and inheritance in object-oriented programming, showcasing the creation and manipulation of animal objects with specific attributes and methods.']}