Object-Oriented C++
Classes, objects, inheritance, polymorphism, and the pillars of OOP in C++.
Classes & Objects
Classes, Structs & Encapsulation
Understand the difference between struct and class, access specifiers, encapsulation, const member functions, static members, and modern aggregate initialization.
Constructori, destructori și regula 0/3/5
Stăpânește întregul ciclu de viață al obiectelor C++ – de la construcție până la distrugere – și învață când să scrii (sau să nu scrii) funcții membre speciale.
Semantică de copiere: Deep vs Shallow
Aflați diferența dintre copiile superficiale și cele profunde, cum să implementați operațiunile corecte de copiere pentru clasele care dețin resurse și expresia de copiere și schimb.
Inheritance & Polymorphism
Inheritance & Is-A Relationships
Learn public inheritance, constructor chaining, the slicing problem, multiple inheritance, and the diamond problem — and when inheritance is appropriate.
Funcții virtuale, vtable și polimorfism
Pătrundeți-vă în polimorfismul runtime: cum funcționează dispeceratul virtual sub capotă, când să utilizați clasele de suprascriere și finale, abstracte și RTTI.
Supraîncărcarea operatorului
Aflați cum să supraîncărcați corect operatorii — membru vs non-membru, forme canonice, operatori de flux, operatorul navei spațiale C++20 și capcanele comune.
OOP Design
Static Members, Singletons & PIMPL
Explore static members, the Meyers Singleton pattern, the Factory pattern, and the PIMPL idiom for ABI stability and compile-time insulation.
Composition, Interfaces & Design
Master composition over inheritance, pure abstract interfaces, design principles (ISP, DIP), std::variant as an alternative to inheritance, and type erasure.