C++Intermediate
C++ — OOP and STL
From C to C++: classes and objects, inheritance and polymorphism, templates and the powerful STL (vector, map, algorithms). C++ blends C's performance with object-oriented and generic programming. Real executable code, compiled on the server with g++. Best after seeing C basics.
16 chapters48 lessons80 challenges
Course curriculum
Chapter 1: From C to C++
- ▸Your first C++ program
- ▸What changes from C
- ▸Pitfalls moving from C
Chapter 2: Types and C++ extras
- ▸std::string and auto
- ▸References and const
- ▸auto, reference and const pitfalls
Chapter 3: Functions in C++
- ▸References and defaults
- ▸Overloading
- ▸Parameter and overloading pitfalls
Chapter 4: Classes and objects
- ▸Classes
- ▸Encapsulation
- ▸Class pitfalls
Chapter 5: Constructors and destructors
- ▸The constructor
- ▸Destructor and lifecycle
- ▸Constructor and destructor pitfalls
Chapter 6: Operator overloading
- ▸Operators for your own types
- ▸operator== and operator<<
- ▸Operator-overloading pitfalls
Chapter 7: Inheritance
- ▸Inheriting from a class
- ▸protected and base constructor
- ▸Inheritance pitfalls
Chapter 8: Polymorphism
- ▸virtual and override
- ▸Abstract classes
- ▸Polymorphism pitfalls
Chapter 9: Templates
- ▸Generic functions
- ▸Generic classes
- ▸Template pitfalls
Chapter 10: STL: vector, map, set
- ▸std::vector
- ▸std::map and std::set
- ▸vector, map and set pitfalls
Chapter 11: Algorithms and lambdas
- ▸STL algorithms
- ▸Lambdas
- ▸Algorithm and lambda pitfalls
Chapter 12: Smart pointers and RAII
- ▸unique_ptr
- ▸shared_ptr and RAII
- ▸Smart-pointer pitfalls
Chapter 13: Exceptions
- ▸try, catch, throw
- ▸std::exception and what()
- ▸Exception pitfalls
Chapter 14: Modern C++
- ▸auto, range-for, structured bindings
- ▸Lambdas with capture and move
- ▸Modern-C++ pitfalls
Chapter 15: Strings and advanced I/O
- ▸std::string methods
- ▸stringstream
- ▸String and I/O pitfalls
Chapter 16: Final project and interview
- ▸Putting it all together
- ▸Best practices and interview
- ▸C++ interview pitfalls
Ready to level up?
Create a free account and start now: earn XP on every challenge and climb the leaderboard.