C++ Tutorial for Complete Beginners
4.4 (25,617 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
273,574 students enrolled

C++ Tutorial for Complete Beginners

How to program in the popular (and tricky!) C++ programming language, for complete beginners.
4.4 (25,617 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
273,574 students enrolled
Created by John Purcell
Last updated 11/2015
English
English [Auto-generated]
Price: Free
This course includes
  • 18 hours on-demand video
  • 2 articles
  • 63 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What you'll learn
  • You'll be able to develop powerful C++ programs
  • You'll be able to apply for C++ jobs, with at least a possibility of success

  • You'll understand the basics of computer programming, including Object Orientation

Course content
Expand all 82 lectures 17:59:45
+ Getting Started
5 lectures 01:06:28

What is C++ and why should you learn it?

Introducing C++
14:55
Screen Resolution
00:23

What you need to get started with C++, and where you can get it.

Setup and Installation
08:38
Hello World C++
23:15

How to "print" text to the console in C++.

Outputting Text
19:17
+ Basic Syntax
21 lectures 03:49:21
Variables
16:23

Strings let you store bits of text that you can use later in your program.

Strings - Working with Text
07:29

Our programs aren't very interesting until they are interactive. So in this tutorial we'll look at getting input from the user.

User Input
09:35

In C++, it helps a lot to know a bit about how the computer's memory is structured. So we'll take a look at binary numbers, bits and bytes in this tutorial

Binary Numbers and Computer Memory
05:57

C++ provides you with various kinds of variable types for working with numbers. In this tutorial we'll take a look at integer types.

Integer Types
13:02
Floating Point Types
14:41
Other Types: Char and Bool
11:34
If
12:25
If-Else
13:15
If-Else If-Else
05:52
Comparing Floats
04:03
C++ Conditions
21:17
While Loops
09:34
Do-While Loops
13:48
"For" Loops
06:43
Break and Continue
10:50
Arrays - Lists of Data
17:24
Multidimensional Arrays
11:43
Sizeof and Arrays
07:03
Sizeof Multidimensional Arrays
06:58
Switch
09:45
+ Subroutines: Reusable Blocks of Code
4 lectures 37:36
Functions
10:06
Return Values
06:31
Function Parameters
07:05
Headers and Prototypes
13:54
+ Object Oriented Coding
8 lectures 01:51:16
Classes
18:15
Data Members
17:51
C++ Constructors and Destructors
16:35
C++ Getters and Setters
13:15
C++ String Streams
08:44
Overloading Constructors
13:07
The "this" Keyword
14:53
Constructor Initialization Lists
08:36
+ Pointers and Memory
14 lectures 03:06:53
Pointers
17:02
Arithmetic
13:22
Pointers and Arrays
17:22
Pointer Arithmetic
15:37
Char Arrays
09:36
Reversing a String
11:28
References
08:38
The "const" Keyword
13:34
Copy Constructors
13:15
The New Operator
09:11
Returning Objects from Functions
12:53
Allocating Memory
10:29
Arrays and Functions
15:24
Namespaces
19:02
+ Inheritance
3 lectures 33:45
Inheritance
09:27
Encapsulation
10:13
Constructor Inheritance
14:05
+ Developing a Program: The Particle Fire Simulation
18 lectures 04:57:47
Particle Fire Explosion
05:38
Using C++ Libraries
11:57

Note: Lazy Foo's tutorials are a great resource for specific SDL setup instructions, and SDL in general: http://lazyfoo.net/tutorials/SDL/01_hello_SDL/index.php

Aquiring Simple Direct Media Layer
12:57

Note: for Windows you need both SDL2.lib and SDLmain.lib

A Basic SDL Program
17:05
Creating an SDL Window
22:50
Textures, Renderers and Buffers
30:34
Setting Pixel Colors
11:06
Creating the Screen Class
20:48
Bit Shifting and Colors
08:56
Adding a Set Pixel Method
08:16
Animating Colors
18:19
Creating Particles
29:53
Animating Particles
21:43
Creating an Explosion
14:27
Ensuring Constant Speed
07:50
Bitwise "And"
11:53
Implementing Box Blur
28:54
Tweaking Particle Motion
14:41
+ Conclusion
2 lectures 27:54
Languages Overview
19:05
What Next
08:49
+ Bonus
4 lectures 50:26
Object Oriented Design Considerations
16:16
Postfix and Prefix
05:15
Polymorphism
12:46
Creating Static Libraries
16:09
Requirements
  • You can use any C++ IDE (terms explained in the course) and compiler to follow this course; all the software you need is free, but you may need to do a little Googling to find explicit install instructions for your platform.
Description

This course teaches you the powerful, fast and popular C++ programming language from scratch, assuming only basic computer knowledge. If you want to develop apps that squeeze the most power from your computer -- high-end desktop games or complex artificial intelligence programs, for instance -- or if you want to use a language that let's you get close to your machine and access all of your computer's hardware, C++ is the language for you. While C++ is quite challenging, in this course we'll learn the basics step by step; towards the end of the course you'll learn how to create a beautiful "particle fire" program, including a smattering of the basic principles of game development.

Who this course is for:
  • This course is intended for those who are computer literate and familiar with downloading and unzipping files, using the Internet and so on, and who want to learn to program
  • C++ is one of the more challenging computer programming languages -- so expect to encounter difficulties! You will need a degree of patience and persistence.