CPP.AB2
Introduction to C++
Learn everything from basic syntax and data structures to advanced concepts like OOP. Create C++ applications from scratch!
- Practice in 42 Hands-On Labs — nothing to install
- 27 Interactive Lessons and 158 topics mapped to the official exam objectives
- 113 Practice Test Questions
Beginner Self-paced · 1 year access
42 Hands-On LiveLabs
Practice real IT tasks in guided environments.
- Real environments
- Auto-graded
- No installation
01 / Skills you'll get
What you will be able to do
- Logical reasoning and problem-solving skills
- Fundamentals of C++ code, including variables, data types, operators, control flow statements, and functions
- Utilize of pointers and references for dynamic memory allocation and deallocation
- Create generic codes using templates for reusability and flexibility
- Execute error handling mechanisms to manage unexpected situations
- Expertise in using debugging tools and techniques to identify and fix errors in C++ code
- Skilled in advanced C++ features like the Standard Template Library (STL)
- Knowledge of lambda expressions, auto keyword, range-based for loops, and constexpr functions
- Metaprogramming for writing codes that generate other codes at compile time
- Expertise in Object-Oriented Programming (OOP) to create classes, objects, inheritance, polymorphism, and encapsulation
Course Highlights
-
27 Structured Lessons Comprehensive coverage of core course objectives
-
42 Hands-On LiveLabs Interactive guided scenarios with instant evaluation
-
113 Practice Questions Assessment tests with detailed answer rationales
-
1 Year Full Access Self-paced learning accessible anytime on all devices
02 / Lessons & labs
See exactly what you will learn and practice
Lessons
27 Interactive Lessons · 158 topics01 Introduction 5 topics +
- 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
02 Hour 1: Writing Your First Program 4 topics · 1 LiveLab +
- Using C++
- Compiling and Linking the Source Code
- Creating Your First Program
- Summary
1 LiveLab in this lesson — see the labs panel →
03 Hour 2: Organizing the Parts of a Program 5 topics · 1 LiveLab +
- Reasons to Use C++
- The Parts of a Program
- Comments
- Functions
- Summary
1 LiveLab in this lesson — see the labs panel →
04 Hour 3: Creating Variables and Constants 9 topics · 1 LiveLab +
- What Is a Variable?
- Defining a Variable
- Assigning Values to Variables
- Using Type Definitions
- Constants
- Attributes
- Knowledge Check
- Auto-Typed Variables
- Summary
1 LiveLab in this lesson — see the labs panel →
05 Hour 4: Using Expressions, Statements, and Operators 7 topics · 3 LiveLab +
- Statements
- Expressions
- Operators
- If-Else Conditional Statements
- Logical Operators
- Tricky Expression Values
- Summary
3 LiveLab in this lesson — see the labs panel →
06 Hour 5: Calling Functions 9 topics · 3 LiveLab +
- 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
3 LiveLab in this lesson — see the labs panel →
07 Hour 6: Controlling the Flow of a Program 6 topics · 5 LiveLab +
- Looping
- while Loops
- do-while Loops
- for Loops
- switch Statements
- Summary
5 LiveLab in this lesson — see the labs panel →
08 Hour 7: Storing Information in Arrays and Strings 9 topics · 4 LiveLab +
- What Is an Array?
- Writing Past the End of Arrays
- Initializing Arrays
- Multidimensional Arrays
- Character Arrays
- Array bounded/unbounded
- Copying Strings
- Reading Arrays with Foreach Loops
- Summary
4 LiveLab in this lesson — see the labs panel →
09 Hour 8: Creating Basic Classes 8 topics · 3 LiveLab +
- 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
3 LiveLab in this lesson — see the labs panel →
10 Hour 9: Moving into Advanced Classes 6 topics · 1 LiveLab +
- const Member Functions
- Interface Versus Implementation
- Organizing Class Declarations and Function Definitions
- Inline Implementation
- Classes with Other Classes as Member Data
- Summary
1 LiveLab in this lesson — see the labs panel →
11 Hour 10: Creating Pointers 4 topics · 2 LiveLab +
- Understanding Pointers and Their Usage
- The Stack and the Heap
- Null Pointer Constant
- Summary
2 LiveLab in this lesson — see the labs panel →
12 Hour 11: Developing Advanced Pointers 9 topics · 2 LiveLab +
- 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
2 LiveLab in this lesson — see the labs panel →
13 Hour 12: Creating References 9 topics · 1 LiveLab +
- 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
1 LiveLab in this lesson — see the labs panel →
14 Hour 13: Developing Advanced References and Pointers 8 topics · 2 LiveLab +
- 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
2 LiveLab in this lesson — see the labs panel →
15 Hour 14: Calling Advanced Functions 6 topics · 1 LiveLab +
- Overloaded Member Functions
- Using Default Values
- Initializing Objects
- The Copy Constructor
- Compile-Time Constant Expressions
- Summary
1 LiveLab in this lesson — see the labs panel →
16 Hour 15: Using Operator Overloading 3 topics · 1 LiveLab +
- Operator Overloading
- Conversion Operators
- Summary
1 LiveLab in this lesson — see the labs panel →
17 Hour 16: Extending Classes with Inheritance 6 topics · 2 LiveLab +
- What Is Inheritance?
- Private Versus Protected
- Constructors and Destructors
- Passing Arguments to Base Constructors
- Overriding Functions
- Summary
2 LiveLab in this lesson — see the labs panel →
18 Hour 17: Using Polymorphism and Derived Classes 3 topics · 1 LiveLab +
- Polymorphism Implemented with Virtual Member Functions
- How Virtual Member Functions Work
- Summary
1 LiveLab in this lesson — see the labs panel →
19 Hour 18: Making Use of Advanced Polymorphism 3 topics · 2 LiveLab +
- Problems with Single Inheritance
- Abstract Data Types
- Summary
2 LiveLab in this lesson — see the labs panel →
20 Hour 19: Storing Information in Linked Lists 4 topics +
- Linked Lists and Other Structures
- Linked List Case Study
- Linked Lists as Objects
- Summary
21 Hour 20: Using Special Classes, Functions, and Pointers 5 topics · 2 LiveLab +
- Static Member Data
- Static Member Functions
- Containment of Classes
- Friend Classes and Functions
- Summary
2 LiveLab in this lesson — see the labs panel →
22 Hour 21: Using New Features of C++23 9 topics · 2 LiveLab +
- The Newest Version of C++
- Using auto in Function Return Types
- Improved Numeric Literals
- The constexpr Keyword
- Ranges Library
- Lambda Expressions
- Coroutines
- Modules
- Summary
2 LiveLab in this lesson — see the labs panel →
23 Hour 22: Employing Object-Oriented Analysis and Design 4 topics +
- The Development Cycle
- Simulating an Alarm System
- PostMaster: A Case Study
- Summary
24 Hour 23: Creating Templates 6 topics · 1 LiveLab +
- What Are Templates?
- Instances of the Template
- Template Definition
- Using Template Items
- Fold Expressions
- Summary
1 LiveLab in this lesson — see the labs panel →
25 Hour 24: Dealing with Exceptions and Error Handling 6 topics · 1 LiveLab +
- Bugs, Errors, Mistakes, and Code Rot
- Handling the Unexpected
- Exceptions
- Using try and catch Blocks
- Writing Professional-Quality Code
- Summary
1 LiveLab in this lesson — see the labs panel →
26 Appendix A: Binary and Hexadecimal 3 topics +
- Other Bases
- Around the Bases
- Hexadecimal
27 Appendix B: Using the MinGW C++ Compiler on Windows 2 topics +
- Downloading MinGW-w64
- Setting the Path Environment Variable
Hands-On Labs Our edge
42 LiveLabs- Creating Your First Program
- Understanding Preprocessor Directives
- Using Constants
- Using the If-Else Conditional Statement
- Using the Compound If Statements
- Using the if Statement
- Using Local Variables with Functions
- Using the Function Parameters
- Using Function Overloading
- Understanding the continue Statement
- Using the while Loop
- Using the do-while Loop
- Using the Nested Loops
- Using the switch Statement
- Initializing Arrays
- Using an Array
- Implementing a Character Array
- Storing Data in an Array
- Implementing Member Functions
- Implementing Member Variables and Member Functions
- Creating Objects
- Understanding the const Member Function
- Understanding Pointers
- Using the new and delete Keywords
- Using the Arrow Operator
- Understanding const Pointers and const Member Functions
- Creating a Reference
- Returning by Reference
- Passing a const Pointer
- Understanding the Copy Constructor
- Overloading the Addition Operator
- Overriding a Function
- Hiding the Base Class Member Function
- Implementing Polymorphism Using the Virtual Function
- Using the dynamic_cast Operator
- Understanding Abstract Data Types
- Using Static Member Functions
- Understanding Pointers to Member Functions
- Using auto in Function Return Types
- Using the Lambda Expression
- Using Templates
- Dealing with Exceptions
03 / FAQs
Questions before you start
Who should do the ‘Introduction to C++’ course? +
This programming course is suitable for a wide range of knowledge seekers ranging from:
- Beginners with very little or no experience in programming
- Experienced developers wanting to expand their knowledge base
- Students wanting to pursue computer science
- Tech professionals wanting to understand C++ for enhanced job opportunities
Are there any prerequisites for this programming course? +
Which tool or software is needed for this course? +
How is C++ different from other programming languages? +
What are the career benefits of learning C++ programming? +
Does this course teach any soft skills along with programming? +
Level Up Your C++ Programming Skills
Learn everything from syntax and data structures to advanced OOP concepts.
- 1 year of full access
- 42 LiveLab included
- Certificate of completion