Beginner course
C++ Programming
Master modern C++ from syntax and memory through object-oriented design, templates, the STL, concurrency, and production practices.
31 chapters About 1088 minutes 80% to pass
Start learningCourse outline
Learn step by step
01Introduction to C++Trace C++ history, install a modern toolchain, and compare C with modern C++. 24 min02Basic Syntax and StructureUnderstand translation units, main, declarations, expressions, blocks, and console I/O. 24 min03Data Types, Variables, and ConstantsChoose safe types, initialize values, infer types, and express compile-time constants. 30 min04OperatorsApply arithmetic, relational, logical, bitwise, assignment, and comparison operators. 30 min05Control FlowBuild readable decisions with if, else, switch, guard clauses, and scoped initialization. 28 min
06LoopsRepeat work with for, range-for, while, do-while, break, and continue. 28 min07FunctionsDesign declarations, overloads, value and reference parameters, recursion, and inline functions. 36 min08ArraysWork safely with raw arrays, std::array, multidimensional storage, span, and bounds. 34 min09Strings and String HandlingCompare C strings, std::string, string_view, parsing, searching, and lifetime rules. 36 min10Pointers and ReferencesReason about addresses, nullability, aliasing, references, constness, and function pointers. 40 min
11Dynamic Memory ManagementUnderstand new, delete, arrays, ownership hazards, RAII, and safer containers. 36 min12Classes and ObjectsModel state and behavior through invariants, access control, methods, and object composition. 38 min13Constructors and DestructorsControl object lifetime with initialization lists, special members, and RAII cleanup. 40 min14InheritanceUse single, multiple, multilevel, hierarchical, and virtual inheritance responsibly. 40 min15PolymorphismDistinguish compile-time overloading from runtime virtual dispatch and avoid slicing. 38 min
16Virtual Functions and Abstract ClassesBuild safe polymorphic interfaces with override, pure virtual functions, and virtual destructors. 38 min17Encapsulation and Data HidingProtect invariants with small interfaces, access control, and dependency boundaries. 30 min18Friend Functions and Friend ClassesGrant narrow privileged access for symmetric operators and tightly coupled collaborators. 26 min19Operator OverloadingCreate unsurprising value-like operations while preserving established operator semantics. 36 min20Function Overloading and TemplatesResolve overloads and write constrained generic functions and classes. 42 min
21Exception HandlingUse try, catch, throw, guarantees, RAII, and custom exception types safely. 36 min22NamespacesOrganize APIs, avoid collisions, use aliases, and understand lookup and ADL. 28 min23STL ContainersChoose vectors, lists, maps, sets, unordered containers, and adaptors by behavior and cost. 42 min24STL IteratorsTraverse ranges with iterator categories, sentinels, adapters, and invalidation awareness. 34 min25STL AlgorithmsExpress transformations, searches, sorting, accumulation, predicates, and ranges clearly. 42 min
26File HandlingRead, write, append, seek, validate streams, and design portable serialization. 36 min27Smart PointersExpress unique, shared, and observing ownership with modern RAII types. 36 min28Lambda ExpressionsWrite local callables with safe captures, generic parameters, and algorithm integration. 34 min29Move SemanticsUnderstand value categories, move operations, forwarding, and moved-from states. 42 min30Multithreading BasicsStart threads and coordinate shared work with mutexes, locks, atomics, and async tasks. 44 min
Final assessment
C++ Programming final exam
Complete all 31 chapters to unlock the exam.
Exam locked