Μετάβαση στο περιεχόμενο
Ενότητα 2

Object-Oriented C++

Classes, objects, inheritance, polymorphism, and the pillars of OOP in C++.

Classes & Objects

  1. Classes, Structs & Encapsulation

    Understand the difference between struct and class, access specifiers, encapsulation, const member functions, static members, and modern aggregate initialization.

  2. Κατασκευαστές, Καταστροφείς & Κανόνας 0/3/5

    Κατακτήστε τον πλήρη κύκλο ζωής των αντικειμένων C++ — από την κατασκευή έως την καταστροφή — και μάθετε πότε να γράφετε (ή να μην γράφετε) ειδικές συναρτήσεις μελών.

  3. Copy Semantics: Deep vs Shallow

    Μάθετε τη διαφορά μεταξύ ρηχών και βαθιών αντιγράφων, πώς να εφαρμόζετε σωστές λειτουργίες αντιγραφής για κλάσεις που διαθέτουν πόρους και το ιδίωμα αντιγραφής και ανταλλαγής.

Κληρονομικότητα & Πολυμορφισμός

  1. Κληρονομικότητα & Σχέσεις Is-A

    Μάθετε τη δημόσια κληρονομικότητα, τη σύνδεση κατασκευαστή, το πρόβλημα κοπής, την πολλαπλή κληρονομικότητα και το πρόβλημα του διαμαντιού — και πότε είναι κατάλληλη η κληρονομικότητα.

  2. Εικονικές Συναρτήσεις, vtables & Πολυμορφισμός

    Βουτήξτε στον πολυμορφισμό χρόνου εκτέλεσης: πώς λειτουργεί η εικονική αποστολή κάτω από την κουκούλα, πότε να χρησιμοποιήσετε την παράκαμψη και τις τελικές, αφηρημένες κλάσεις και το RTTI.

  3. Υπερφόρτωση χειριστή

    Μάθετε πώς να υπερφορτώνετε σωστά τους χειριστές — μέλη έναντι μη μέλους, κανονικές φόρμες, χειριστές ροής, χειριστή διαστημόπλοιου C++20 και κοινές παγίδες.

OOP Design

  1. 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.

  2. Σύνθεση, Διεπαφές & Σχεδίαση

    Master composition over inheritance, pure abstract interfaces, design principles (ISP, DIP), std::variant as an alternative to inheritance, and type erasure.