Introduction to C++

(CPP.AB1)/ISBN:978-1-64459-189-5

This course includes
Lessons
TestPrep
Lab
AI Tutor (Add-on)

Learn C++ programming with the Introduction to C++ course and lab. The lab provides a hands-on learning experience in a safe, online environment. This course and lab have the best C++ tutorials which will teach you everything related to C++ programming with its various learning resources. The C++ online course will help you gain skills in creating variables and constants; calling functions, creating basic classes and pointers; controlling program flow, and many more.

Lessons

27+ Lessons | 155+ Quizzes | 120+ Flashcards | 120+ Glossary of terms

TestPrep

60+ Pre Assessment Questions | 60+ Post Assessment Questions |

Here's what you will learn

Download Course Outline

Lessons 1: Introduction

  • Who Should Read This Course?
  • Should I Learn C First?
  • Why Should I Learn C++?
  • What If I Don’t Want This Course?
  • Conventions Used in This Course

Lessons 2: Hour 1: Writing Your First Program

  • Using C++
  • Compiling and Linking the Source Code
  • Creating Your First Program
  • Summary

Lessons 3: Hour 2: Organizing the Parts of a Program

  • Reasons to Use C++
  • The Parts of a Program
  • Comments
  • Functions
  • Summary

Lessons 4: Hour 3: Creating Variables and Constants

  • What Is a Variable?
  • Defining a Variable
  • Assigning Values to Variables
  • Using Type Definitions
  • Constants
  • Auto-Typed Variables
  • Summary

Lessons 5: Hour 4: Using Expressions, Statements, and Operators

  • Statements
  • Expressions
  • Operators
  • If-Else Conditional Statements
  • Logical Operators
  • Tricky Expression Values
  • Summary

Lessons 6: Hour 5: Calling Functions

  • What Is a Function?
  • Declaring and Defining Functions
  • Using Variables with Functions
  • Function Parameters
  • Returning Values from Functions
  • Default Function Parameters
  • Overloading Functions
  • Auto-Typed Return Values
  • Summary

Lessons 7: Hour 6: Controlling the Flow of a Program

  • Looping
  • while Loops
  • do-while Loops
  • for Loops
  • switch Statements
  • Summary

Lessons 8: Hour 7: Storing Information in Arrays and Strings

  • What Is an Array?
  • Writing Past the End of Arrays
  • Initializing Arrays
  • Multidimensional Arrays
  • Character Arrays
  • Copying Strings
  • Reading Arrays with Foreach Loops
  • Summary

Lessons 9: Hour 8: Creating Basic Classes

  • What Is a Type?
  • Creating New Types
  • Classes and Members
  • Accessing Class Members
  • Private Versus Public Access
  • Implementing Member Functions
  • Creating and Deleting Objects
  • Summary

Lessons 10: Hour 9: Moving into Advanced Classes

  • const Member Functions
  • Interface Versus Implementation
  • Organizing Class Declarations and Function Definitions
  • Inline Implementation
  • Classes with Other Classes as Member Data
  • Summary

Lessons 11: Hour 10: Creating Pointers

  • Understanding Pointers and Their Usage
  • The Stack and the Heap
  • Null Pointer Constant
  • Summary

Lessons 12: Hour 11: Developing Advanced Pointers

  • Creating Objects on the Heap
  • Deleting Objects
  • Accessing Data Members Using Pointers
  • Member Data on the Heap
  • The this Pointer
  • Stray or Dangling Pointers
  • const Pointers
  • const Pointers and const Member Functions
  • Summary

Lessons 13: Hour 12: Creating References

  • What is a Reference?
  • Creating a Reference
  • Using the Address of Operator on References
  • What Can Be Referenced?
  • Null Pointers and Null References
  • Passing Function Arguments by Reference
  • Understanding Function Headers and Prototypes
  • Returning Multiple Values
  • Summary

Lessons 14: Hour 13: Developing Advanced References and Pointers

  • Passing by Reference for Efficiency
  • Passing a const Pointer
  • References as an Alternative to Pointers
  • When to Use References and When to Use Pointers
  • References to Objects Not in Scope
  • Returning a Reference to an Object on the Heap
  • Pointer, Pointer, Who Has the Pointer?
  • Summary

Lessons 15: Hour 14: Calling Advanced Functions

  • Overloaded Member Functions
  • Using Default Values
  • Initializing Objects
  • The Copy Constructor
  • Compile-Time Constant Expressions
  • Summary

Lessons 16: Hour 15: Using Operator Overloading

  • Operator Overloading
  • Conversion Operators
  • Summary

Lessons 17: Hour 16: Extending Classes with Inheritance

  • What Is Inheritance?
  • Private Versus Protected
  • Constructors and Destructors
  • Passing Arguments to Base Constructors
  • Overriding Functions
  • Summary

Lessons 18: Hour 17: Using Polymorphism and Derived Classes

  • Polymorphism Implemented with Virtual Member Functions
  • How Virtual Member Functions Work
  • Summary

Lessons 19: Hour 18: Making Use of Advanced Polymorphism

  • Problems with Single Inheritance
  • Abstract Data Types
  • Summary

Lessons 20: Hour 19: Storing Information in Linked Lists

  • Linked Lists and Other Structures
  • Linked List Case Study
  • Linked Lists as Objects
  • Summary

Lessons 21: Hour 20: Using Special Classes, Functions, and Pointers

  • Static Member Data
  • Static Member Functions
  • Containment of Classes
  • Friend Classes and Functions
  • Summary

Lessons 22: Hour 21: Using New Features of C++23

  • The Newest Version of C++
  • Using auto in Function Return Types
  • Improved Numeric Literals
  • The constexpr Keyword
  • Lambda Expressions
  • Summary

Lessons 23: Hour 22: Employing Object-Oriented Analysis and Design

  • The Development Cycle
  • Simulating an Alarm System
  • PostMaster: A Case Study
  • Summary

Lessons 24: Hour 23: Creating Templates

  • What Are Templates?
  • Instances of the Template
  • Template Definition
  • Using Template Items
  • Summary

Lessons 25: Hour 24: Dealing with Exceptions and Error Handling

  • Bugs, Errors, Mistakes, and Code Rot
  • Handling the Unexpected
  • Exceptions
  • Using try and catch Blocks
  • Writing Professional-Quality Code
  • Summary

Appendix A: Binary and Hexadecimal

  • Other Bases
  • Around the Bases
  • Hexadecimal

Appendix B: Using the MinGW C++ Compiler on Windows

  • Downloading MinGW-w64
  • Setting the Path Environment Variable
  • Testing Your Installation

Hands-on LAB Activities (Performance Labs)

Hour 1: Writing Your First Program

  • Creating Your First Program

Hour 2: Organizing the Parts of a Program

  • Understanding Preprocessor Directives

Hour 3: Creating Variables and Constants

  • Using Constants

Hour 4: Using Expressions, Statements, and Operators

  • Using the If-Else Conditional Statement
  • Using the Compound If Statements
  • Using the if Statement

Hour 5: Calling Functions

  • Using Local Variables with Functions
  • Using the Function Parameters
  • Using Function Overloading

Hour 6: Controlling the Flow of a Program

  • Understanding the continue Statement 
  • Using the while Loop
  • Using the do-while Loop
  • Using the Nested Loops
  • Using the switch Statement

Hour 7: Storing Information in Arrays and Strings

  • Initializing Arrays
  • Using an Array
  • Implementing a Character Array
  • Storing Data in an Array

Hour 8: Creating Basic Classes

  • Implementing Member Functions
  • Implementing Member Variables and Member Functions
  • Creating Objects

Hour 9: Moving into Advanced Classes

  • Understanding the const Member Function

Hour 10: Creating Pointers

  • Understanding Pointers
  • Using the new and delete Keywords

Hour 11: Developing Advanced Pointers

  • Using the points-to Operator
  • Understanding const Pointers and const Member Functions

Hour 12: Creating References

  • Creating a Reference

Hour 13: Developing Advanced References and Pointers

  • Returning by Reference 
  • Passing a const Pointer

Hour 14: Calling Advanced Functions

  • Understanding the Copy Constructor

Hour 15: Using Operator Overloading

  • Overloading the Addition Operator

Hour 16: Extending Classes with Inheritance

  • Overriding a Function
  • Hiding the Base Class Member Function

Hour 17: Using Polymorphism and Derived Classes

  • Implementing Polymorphism Using the Virtual Function

Hour 18: Making Use of Advanced Polymorphism

  • Using the dynamic_cast Operator
  • Understanding Abstract Data Types

Hour 20: Using Special Classes, Functions, and Pointers

  • Using Static Member Functions
  • Understanding Pointers to Member Functions

Hour 21: Using New Features of C++23

  • Using auto in Function Return Types
  • Using the Lambda Expression

Hour 23: Creating Templates

  • Using Templates

Hour 24: Dealing with Exceptions and Error Handling

  • Dealing with Exceptions