

Unsure where
to begin?
Track
Certificate
C++ Mastery
Advanced
This track covers both fundamental and advanced C++ techniques, enabling confident development of efficient, scalable, and secure applications. It explores key principles of object-oriented programming and template metaprogramming. Show more
c++
Boost your Tech Skills!
with up to 55% off
What you'll get with our subscription:
Access to 85+ top-rated courses
AI-driven Learning
Workspaces for practicing your skills
Personalized study tracks
Certificates of completion
Training 2 or more people?
Get your team access to Codefinity courses anytime, anywhere.
Try Codefinity TeamsWhat you will learn
- Master Object-Oriented Programming (OOP) with classes, objects, methods, and static members
- Build modular and scalable code using polymorphism, encapsulation, and inheritance
- Manage memory efficiently with smart pointers
- Create reusable, type-independent code with function and class templates
- Explore advanced topics like memory management, performance optimization, and best practices
- 81 chapters
- 11 hours
- 79 tasks
Trusted by employees of leading companies
Learning track content
Module 1 / C++ OOP
Explore the fundamental concepts of Object-Oriented Programming (OOP), a programming paradigm built on the idea of objects and classes, which are the main focus of this section.
Constructors and destructors are fundamental concepts in Object-Oriented Programming (OOP). They play a crucial role and in this section you will learn why are they so important and how to use them.
- What is a Constructor of the ClassPreview
- Constructor and AttributesPreview
- Constructor Initialization ListPreview
- Initialization List PracticePreview
- Constructor DelegationPreview
- Constructor Delegation PracticePreview
- What is a Destructor of the ClassPreview
- Copy ConstructorsPreview
- Constructors and Destructors PracticePreview
Encapsulation is one of the fundamental principles of object-oriented programming (OOP) that facilitates the creation of modular and maintainable code. Here, you will explore the significance of Data Hiding, Access Control, Mutator, and Accessor Methods, elucidating their pivotal roles in code maintenance and modularity.
In this section you will learn about fundamental mechanism of object-oriented programming that enables code reuse and promotes the creation of hierarchical relationships among classes.
Polymorphism is a foundational concept in OOP that enables the creation of flexible and extensible code structures. You will learn about virtual function, abstract classes and operator overloading and their pivotal roles in promoting code flexibility and scalability.
Module 2 / C++ Templates
This section introduces templates in programming, guiding you through creating your first template and using the template function.
In this section you will learn role of templates in reducing code duplication, handling multiple argument types, using typename parameters as return types, and distinguishing between implicit and explicit type specification.
This section introduces class templates in C++ and their use in creating flexible data structures. It covers templates classes related topics.
This section introduces template specialization in C++, explaining how it allows for customized behavior of templates for specific types. It covers the usage of both full and partial template specialization and discusses template constraints to enforce specific conditions on template parameters.
Module 3 / C++ Smart Pointers
This segment will cover a review of heap and stack memory, the necessity of smart pointers, and their practical applications.
In this section, we will introduce the concepts of smart pointers and references in C++, delve into why they are so important, and explore their use cases and benefits.
This section examines shared pointers, investigating their functionality, benefits, real-world applications in programming and what sets unique pointers apart
In this section, we will explore weak pointers, comprehending their nature, creating and utilizing them effectively, resolving circular references through weak pointers, and examining key functions associated with weak pointers.
This section addresses the distinctions between references and pointers, emphasizing their differences and similarities. It covers the concept of constant references and immutability, provides guidance on when to utilize references versus smart pointers versus raw pointers, and outlines best practices for working with references in programming contexts.
This section covers custom deleters for smart pointers, real-world smart pointer applications, performance considerations, and a detailed comparison of shared, unique, and weak pointers.
Requirements
- A computer with a browser - all browsers are supported.
- Your enthusiasm to enhance your tech skills.
- Everything else needed to start learning and practicing is already included in this course.
Over 200,000 5-star ratings and counting
Ruslan Kravchuk
The main thing is to learn and not give up
The material is good, there is a lot to learn, all in order to become better and the main thing is to learn what you want....
Matteo Comune
Thanks to them I'm learning a lot…
Thanks to them I'm learning a lot faster because they help you to understand everything from scratch. It's the best website that helps people with no background in IT...
Yuliana Cadavid
great course for beginners
great course for beginners, they test your knowledge in every lesson...
Elpunzon
I am enjoying my Codefinity experience…
I am enjoying my Codefinity experience learning Python. The self-paced way of learning is great because I can fit it into my schedule...
Alexandru Alexandru
Is nice to learn from codefinity
Is nice to learn from codefinity. Its easy and have good examples on what I learned here...
jacob Templet
Easy to follow along with and provides…
Easy to follow along with and provides challenge in my every day life. The challenge keeps me wanting to learn day after day...
Elan
Codefinity is a comprehensive learning…
Codefinity is a comprehensive learning tool to help you develop your skills as a software engineer or data scientist. The exercises are fun and a good way to sharpen your skills...
Thibault
First time learning how to code
First time learning how to code and successfully doing so with codefinity - thank you...
Adrien Morel
Well designed for total beginners
Well designed for total beginners, incremental progress and makes me feel confident....
_Gracy
it's simply perfectly well explained
it's simply perfectly well explained! so far I have not experienced any difficulty because everything is so well managed...
Ruslan Kravchuk
The main thing is to learn and not give up
The material is good, there is a lot to learn, all in order to become better and the main thing is to learn what you want....
Matteo Comune
Thanks to them I'm learning a lot…
Thanks to them I'm learning a lot faster because they help you to understand everything from scratch. It's the best website that helps people with no background in IT...
Yuliana Cadavid
great course for beginners
great course for beginners, they test your knowledge in every lesson...
Elpunzon
I am enjoying my Codefinity experience…
I am enjoying my Codefinity experience learning Python. The self-paced way of learning is great because I can fit it into my schedule...
Alexandru Alexandru
Is nice to learn from codefinity
Is nice to learn from codefinity. Its easy and have good examples on what I learned here...
jacob Templet
Easy to follow along with and provides…
Easy to follow along with and provides challenge in my every day life. The challenge keeps me wanting to learn day after day...
Elan
Codefinity is a comprehensive learning…
Codefinity is a comprehensive learning tool to help you develop your skills as a software engineer or data scientist. The exercises are fun and a good way to sharpen your skills...
Thibault
First time learning how to code
First time learning how to code and successfully doing so with codefinity - thank you...
Adrien Morel
Well designed for total beginners
Well designed for total beginners, incremental progress and makes me feel confident....
_Gracy
it's simply perfectly well explained
it's simply perfectly well explained! so far I have not experienced any difficulty because everything is so well managed...
Data Engineer
Certificate of Completion
Showcase your newly acquired skills. You've earned it
Discover more
Learning tracks
Only for Ultimate
1 Course
1 Project
0 Task
Only for Ultimate
7 Courses
326 Tasks
Only for Ultimate
5 Courses
119 Tasks
Only for Ultimate
5 Courses
150 Tasks
Only for Ultimate
4 Courses
115 Tasks
Only for Ultimate
6 Courses
103 Tasks
Only for Ultimate
6 Courses
173 Tasks
Only for Ultimate
5 Courses
134 Tasks
Only for Ultimate
2 Courses
1 Project
57 Tasks
Only for Ultimate
6 Courses
307 Tasks
Only for Ultimate
4 Courses
143 Tasks
Only for Ultimate
5 Courses
170 Tasks
Only for Ultimate
5 Courses
155 Tasks
Only for Ultimate
6 Courses
286 Tasks
Only for Ultimate
6 Courses
226 Tasks
Only for Ultimate
8 Courses
2 Projects
176 Tasks
Only for Ultimate
2 Courses
79 Tasks
Only for Ultimate
7 Courses
293 Tasks
Only for Ultimate
1 Project
0 Task
Only for Ultimate
2 Courses
21 Tasks
Only for Ultimate
5 Courses
112 Tasks
Only for Ultimate
2 Courses
0 Task
Only for Ultimate
3 Courses
39 Tasks
Only for Ultimate
13 Courses
543 Tasks
Only for Ultimate
13 Courses
543 Tasks
Only for Ultimate
1 Course
0 Task
Only for Ultimate
0 Task
Only for Ultimate
5 Courses
143 Tasks
Only for Ultimate
7 Courses
272 Tasks
Only for Ultimate
5 Courses
217 Tasks
Only for Ultimate
3 Courses
104 Tasks
Only for Ultimate
2 Courses
13 Tasks
Only for Ultimate
3 Courses
119 Tasks
Only for Ultimate
1 Course
15 Tasks
Only for Ultimate
3 Courses
33 Tasks
Only for Ultimate
3 Courses
31 Tasks
Only for Ultimate
2 Courses
151 Tasks
Only for Ultimate
3 Courses
49 Tasks
Learning tracks
track
TEST TRACK 12
Beginner
4.0
(5631)
track
Full Stack Web Development
Beginner
4.6
(56)
track
Become a React Developer
Intermediate
4.8
(5)
track
Mastering Data Visualization
Intermediate
4.6
(7)
track
SQL from Zero to Hero
Beginner
4.8
(90)
track
С++ Essentials
Beginner
4.4
(17)
track
Python from Zero to Hero
Beginner
4.7
(283)
track
Supervised Machine Learning
Intermediate
4.9
(7)
track
Python Beyond Intermediate
Beginner
5.0
(1)
track
Java Essentials
Beginner
4.3
(9)
track
Game Development with Unity
Beginner
4.6
(7)
track
Become a Django Developer
Advanced
4.4
(27)
track
Flask for Dummies
Intermediate
4.5
(31)
track
Frontend Development Foundations
Beginner
4.6
(52)
track
Web Developer from Zero to Hero
Beginner
4.6
(56)
track
Preparation for Data Science
Intermediate
4.5
(11)
track
Deep Learning Odyssey
Advanced
5.0
(3)
track
Web Development with C#
Beginner
4.8
(97)
track
TEST E2E TRACK BEGINNER
Beginner
track
Test Track
Begginer
4.7
(3)
track
Skilled Python BackEnd Developer
Advanced
4.7
(261)
track
Test Recalculate
Beginner
track
Excel Essentials
Beginner
4.5
(33)
track
Full-Stack .NET Developer Journey
Intermediate
4.8
(128)
track
Full-Stack .NET Developer Journey
Intermediate
4.8
(128)
track
Test track with rating
Advanced
4.0
(4)
track
TEST TEST TRACK
Beginner
track
Data Analyst Foundation
Beginner
4.7
(110)
track
Java Web
Advanced
4.5
(30)
track
Become a QA Engineer
Beginner
4.5
(43)
track
Video Production with Adobe
Beginner
track
Digital Marketing Essentials
Beginner
track
UI/UX Design Tools
Beginner
track
Test image upload track
Beginner
track
Essential Office Skills
Beginner
4.6
(24)
track
GitHub from Zero to Hero
Beginner
track
No-Code Website Development
Beginner
track
C Programming & Low-Level Development
Beginner
Become a Development expert
Interactive exercises
Learning videos
AI-assistant on all courses
Workspaces for designing your own projects
Ready to get started?
ProBest intro offer | UltimateA complete experience to kickstart your career | |
---|---|---|
85+ Top-Rated courses | ||
Completion certificates | ||
AI-Assistant in all courses | ||
20+ hands-on Real-world projects | ||
Personalized study tracks | ||
Unlimited workspaces | ||
Boost your Tech Skills!
with up to 55% off
What you'll get with our subscription:
Access to 85+ top-rated courses
AI-driven Learning
Workspaces for practicing your skills
Personalized study tracks
Certificates of completion
Training 2 or more people?
Get your team access to Codefinity courses anytime, anywhere.
Try Codefinity Teams