ΥΛΗ ΤΕΛΙΚΗΣ ΕΞΕΤΑΣΗΣ (ΑΝΤΙΚΕΙΜΕΝΟΣΤΡAΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ)
Ιανουάριος 2025
Βιβλίο “C++: Από τη Θεωρία στην Εφαρμογή, Γ. Τσελίκης”
https://service.eudoxus.gr/search/#a/id:122077282/0
- ΚΕΦΑΛΑΙΟ 1: ΕΙΣΑΓΩΓΗ ΣΤΗ ΓΛΩΣΣΑ C++
- ΚΕΦΑΛΑΙΟ 8: ΔΕΙΚΤΕΣ
- ΚΕΦΑΛΑΙΟ 17: ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΤΙΚΕΙΜΕΝΑ
- ΚΕΦΑΛΑΙΟ 18: ΥΠΕΡΦΟΡΤΩΣΗ ΤΕΛΕΣΤΩΝ
- ΚΕΦΑΛΑΙΟ 19: ΠΕΡΙΣΣΟΤΕΡΑ ΓΙΑ ΚΛΑΣΕΙΣ
- ΚΕΦΑΛΑΙΟ 20: ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ
- ΚΕΦΑΛΑΙΟ 21: ΠΕΡΙΣΣΟΤΕΡΑ ΓΙΑ ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ
- ΚΕΦΑΛΑΙΟ 22: ΕΞΑΙΡΕΣΕΙΣ
- ΚΕΦΑΛΑΙΟ 23: ΠΡΟΤΥΠΕΣ ΚΛΑΣΕΙΣ
- ΚΕΦΑΛΑΙΟ 26: ΚΑΘΙΕΡΩΜΕΝΗ ΒΙΒΛΙΟΘΗΚΗ ΠΡΟΤΥΠΩΝ
Βιβλίο “Η ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C++, 4η ΑΜΕΡΙΚΑΝΙΚΗ ΕΚΔΟΣΗ, BJARNE STROUSTRUP”
https://service.eudoxus.gr/search/#a/id:94644160/0
- ΚΕΦΑΛΑΙΟ 2: Περιήγηση στη C++: Τα βασικά
- ΚΕΦΑΛΑΙΟ 3: Περιήγηση στη C++: Μηχανισμοί αφαίρεσης
- ΚΕΦΑΛΑΙΟ 4: Περιήγηση στη C++: Περιέκτες και αλγόριθμοι
- ΚΕΦΑΛΑΙΟ 7: Περιήγηση στη C++: Δείκτες, συστοιχίες και αναφορές
- ΚΕΦΑΛΑΙΟ 13: Χειρισμός εξαιρέσεων
- ΚΕΦΑΛΑΙΟ 16: Κλάσεις
- ΚΕΦΑΛΑΙΟ 17: Κατασκευή, εκκαθάριση, αντιγραφή και μετακίνηση
- ΚΕΦΑΛΑΙΟ 18: Υπερφόρτωση τελεστών
- ΚΕΦΑΛΑΙΟ 20: Παράγωγες κλάσεις
- ΚΕΦΑΛΑΙΟ 21: Ιεραρχίες κλάσεων
- ΚΕΦΑΛΑΙΟ 23: Πρότυπα
- ΚΕΦΑΛΑΙΟ 24: Γενικευμένος προγραμματισμός
- ΚΕΦΑΛΑΙΟ 30: Επισκόπηση της καθιερωμένης βιβλιοθήκης
- ΚΕΦΑΛΑΙΟ 31: Περιέκτες STL
- ΚΕΦΑΛΑΙΟ 32: Αλγόριθμοι STL
- ΚΕΦΑΛΑΙΟ 33: Επαναλήπτες STL
Βιβλίο “ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ με τη C++, 2η ΕΚΔΟΣΗ, BJARNE STROUSTRUP”
https://service.eudoxus.gr/search/#a/id:77112469/0
- ΚΕΦΑΛΑΙΟ 2: Το κλασικό πρώτο πρόγραμμα
- ΚΕΦΑΛΑΙΟ 3: Αντικείμενα, τύποι και τιμές
- ΚΕΦΑΛΑΙΟ 4: Υπολογισμός
- ΚΕΦΑΛΑΙΟ 5: Σφάλματα
- ΚΕΦΑΛΑΙΟ 8: Τεχνικές λεπτομέρειες: Συναρτήσεις, κ.α.
- ΚΕΦΑΛΑΙΟ 9: Τεχνικές λεπτομέρειες: Κλάσεις, κ.α.
- ΚΕΦΑΛΑΙΟ 10: Ροές εισόδου και εξόδου
- ΚΕΦΑΛΑΙΟ 11: Προσαρμογή εισόδου και εξόδου
- ΚΕΦΑΛΑΙΟ 17: vector και ελεύθερη αποθήκη
- ΚΕΦΑΛΑΙΟ 18: Διανύσματα και συστοιχίες
- ΚΕΦΑΛΑΙΟ 19: vector, πρότυπα και εξαιρέσεις
- ΚΕΦΑΛΑΙΟ 20: Περιέκτες και επαναλήπτες
- ΚΕΦΑΛΑΙΟ 21: Αλγόριθμοι και χειρισμός ακολουθιών στοιχείων
- ΚΕΦΑΛΑΙΟ 27: Η γλώσσα προγραμματισμού C
- ΚΕΦΑΛΑΙΟ 28: Επισκόπηση της γλώσσας C++
- ΚΕΦΑΛΑΙΟ 29: Επισκόπηση της τυπικής βιβλιοθήκης
ΔΙΑΦΑΝΕΙΕΣ
- Διαφάνειες μαθήματος (1-23)
ANTIKEIMENA ΤΟΥ ΜΑΘΗΜΑΤΟΣ
Γνώσεις από τη C
- δείκτες (dereference=αποαναφορά, διευθύνσεις)
- Κλήση με τιμή και κλήση με αναφορά με χρήση δεικτών
- δέσμευση, αποδέσμευση μνήμης (malloc, free)
- στατικοί, δυναμικοί πίνακες
- δισδιάστατοι πίνακες
- enums
- casting
- inline συναρτήσεις
- Χωριστή μεταγλώττιση
C++
- δέσμευση, αποδέσμευση μνήμης (new, delete)
- χώροι ονομάτων (namespaces)
- enum classes
- αναφορές (references)
- πέρασμα με τιμή, πέρασμα με αναφορά
- χρήση του const
- ορισμός κλάσεων (private/public members)
- κατασκευαστές (προκαθορισμένος, υπερφόρτωση, default παράμετροι)
- κατασκευαστής αντιγραφής (shallow copy/deep copy)
- τελεστής ανάθεσης (assignment operator)
- καταστροφείς
- στατικά μέλη κλάσεων
- φίλες συναρτήσεις
- φίλες κλάσεις
- υπερφόρτωση τελεστών (+, <, ==, « , »)
- μετατροπή αντικειμένου σε λεκτικό
- κληρονομικότητα (βασικές κλάσεις, παραγόμενες κλάσεις, το keyword protected)
- κληρονομικότητα (overload, override)
- πολυμορφικές ιεραρχίες (virtual συναρτήσεις)
- virtual destructors
- αφηρημένες κλάσεις (pure virtual functions)
- templates (εφαρμογή σε συναρτήσεις, εφαρμογή σε δομές/κλάσεις)
- Εξαιρέσεις
- Λάμδα συναρτήσεις
STL
- Περιέκτες (container)
- std::vector, std::array, std::list
- std::set, std::unordered_set, std::map, std::unordered_map
- Επαναλήπτες (iterators)
- random iterator, forward iterator
- Αλγόριθμοι (algorithms)
- std::sort, std::find, std::copy, std::count_if, std::accumulate
- Βοηθήματα (utilities)
- ζεύγη (std::pair)
- πλειάδες (std::tuple)
OO Design (UML)
- Διάγραμμα κλάσεων
IS-A (κληρονομικότητα)
- Γενίκευση (inheritance)
HAS-A (composition=σύνθεση ή aggregation=συνάθροιση)
- Συσχετίσεις μιας κατεύθυνσης (one way associations)
- Συνάθροιση (aggregation)
- Σύνθεση (composition)