4.45 out of 5
4.45
44153 reviews on Udemy

C++ Tutorial for Complete Beginners

How to program in the popular (and tricky!) C++ programming language, for complete beginners.
Instructor:
John Purcell
634,154 students enrolled
English [Auto]
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

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.

Getting Started

1
Introducing C++

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

2
Screen Resolution
3
Setup and Installation

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

4
Hello World C++
5
Outputting Text

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

Basic Syntax

1
Variables
2
Strings - Working with Text

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

3
User Input

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

4
Binary Numbers and Computer Memory

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

5
Integer Types

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

6
Floating Point Types
7
Other Types: Char and Bool
8
If
9
If-Else
10
If-Else If-Else
11
Comparing Floats
12
C++ Conditions
13
While Loops
14
Do-While Loops
15
"For" Loops
16
Break and Continue
17
Arrays - Lists of Data
18
Multidimensional Arrays
19
Sizeof and Arrays
20
Sizeof Multidimensional Arrays
21
Switch

Subroutines: Reusable Blocks of Code

1
Functions
2
Return Values
3
Function Parameters
4
Headers and Prototypes

Object Oriented Coding

1
Classes
2
Data Members
3
C++ Constructors and Destructors
4
C++ Getters and Setters
5
C++ String Streams
6
Overloading Constructors
7
The "this" Keyword
8
Constructor Initialization Lists

Pointers and Memory

1
Pointers
2
Arithmetic
3
Pointers and Arrays
4
Pointer Arithmetic
5
Char Arrays
6
Reversing a String
7
References
8
The "const" Keyword
9
Copy Constructors
10
The New Operator
11
Returning Objects from Functions
12
Allocating Memory
13
Arrays and Functions
14
Namespaces

Inheritance

1
Inheritance
2
Encapsulation
3
Constructor Inheritance

Odds and Ends: Twos Complement and Static Variables

1
Twos Complement
2
Static Keyword

Developing a Program: The Particle Fire Simulation

1
Particle Fire Explosion
2
Using C++ Libraries
3
Aquiring Simple Direct Media Layer

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

4
A Basic SDL Program

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

5
Creating an SDL Window
6
Textures, Renderers and Buffers
7
Setting Pixel Colors
8
Creating the Screen Class
9
Bit Shifting and Colors
10
Adding a Set Pixel Method
11
Animating Colors
12
Creating Particles
13
Animating Particles
14
Creating an Explosion
15
Ensuring Constant Speed
16
Bitwise "And"
17
Implementing Box Blur
18
Tweaking Particle Motion

Conclusion

1
Languages Overview
2
What Next

Bonus

1
Object Oriented Design Considerations
2
Postfix and Prefix
3
Polymorphism
4
Creating Static Libraries

Advanced C++!

1
Congratulations, and an Advanced C++ Course
You can view and review the lecture materials indefinitely, like an on-demand channel.
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
4.5
4.5 out of 5
44153 Ratings

Detailed Rating

Stars 5
21392
Stars 4
15420
Stars 3
5607
Stars 2
1016
Stars 1
718
b3d813bcb7f7097dfc22b5c4588dd62e
30-Day Money-Back Guarantee

Includes

18 hours on-demand video
2 articles
Full lifetime access
Access on mobile and TV