C++ Tutorial for Complete Beginners

How to program in the popular (and tricky!) C++ programming language, for complete beginners.
4.4 (3,179 ratings) Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
58,712 students enrolled
Free
Start Learning Now
  • Lectures 82
  • Contents Video: 18 hours
    Other: 1 min
  • Skill Level Beginner Level
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works

Discover

Find online courses made by experts from around the world.

Learn

Take your courses with you and learn anywhere, anytime.

Master

Learn and practice real-world skills and achieve your goals.

About This Course

Published 10/2014 English

Course 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.

What are the 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.

What am I going to get from this course?

  • 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

What is the target audience?

  • 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.

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.

Curriculum

Section 1: Getting Started
14:55

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

Screen Resolution
Article
08:38

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

Hello World C++
23:15
19:17

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

Section 2: Basic Syntax
Variables
16:23
07:29

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

09:35

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

05:57

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

13:02

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

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
Section 3: Subroutines: Reusable Blocks of Code
Functions
10:06
Return Values
06:31
Function Parameters
07:05
Headers and Prototypes
13:54
Section 4: Object Oriented Coding
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
Section 5: Pointers and Memory
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
Section 6: Inheritance
Inheritance
09:27
Encapsulation
10:13
Constructor Inheritance
14:05
Section 7: Odds and Ends: Twos Complement and Static Variables
Twos Complement
19:25
Static Keyword
18:27
Section 8: Developing a Program: The Particle Fire Simulation
Particle Fire Explosion
05:38
Using C++ Libraries
11:57
12: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

17:05

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

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
Section 9: Conclusion
Languages Overview
19:05
What Next
08:49
Section 10: Bonus
Object Oriented Design Considerations
16:16
Postfix and Prefix
05:15
Polymorphism
12:46
Creating Static Libraries
16:09
Section 11: Advanced C++!
Congratulations, and an Advanced C++ Course
Article

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

John Purcell, Software Development Trainer

After working as a software developer and contractor for over 14 years for a whole bunch of companies including CSC, Proquest, SPSS and AT&T in the UK and Netherlands, I decided to work full-time as a private software trainer. I now live in the beautiful city of Budapest, Hungary, from where I run the website Cave of Programming.

Ready to start learning?
Start Learning Now