Αντικειμενοστραφής Προγραμματισμός (OOP=Object Oriented Programming) με χρήση της C++
Πανεπιστήμιο Ιωαννίνων - Τμήμα Πληροφορικής και Τηλεπικοινωνιών
Διδάσκων: Γκόγκος Χρήστος
Χειμερινό εξάμηνο ακαδημαϊκού έτους 2025-2026
Σελίδα στο e-course του Πανεπιστημίου Ιωαννίνων για το μάθημα: http://ecourse.uoi.gr/course/view.php?id=1944
Επιλογές Συγγραμμάτων (ΕΥΔΟΞΟΣ)
- Βιβλίο [122077282]: C++: Από τη Θεωρία στην Εφαρμογή, Γ. Τσελίκης Λεπτομέρειες
- Βιβλίο [143556617]: C++ 20 για Προγραμματιστές, Harvey M. Deitel, Paul J. Deitel Λεπτομέρειες
- Βιβλίο [77112469]: Προγραμματισμός με τη C++, 2η Έκδοση, Stroustrup Bjarne Λεπτομέρειες
- Βιβλίο [122078440]: Η γλώσσα προγραμματισμού C++, Stroustrup Bjarne Λεπτομέρειες
ΘΕΩΡΙΑ
- Παρουσίαση 1 - Εισαγωγή
- Παρουσίαση 2 - Επίπεδα προστασίας, κατασκευαστές
- Παρουσίαση 3 - Περιβάλλον Unix και μεταγλώττιση
- Παρουσίαση 4 - friend, κατασκευαστές μετατροπής, destructors
- Παρουσίαση 5 - const
- Παρουσίαση 6 - Υπερφόρτωση τελεστών
- Παρουσίαση 7 - Σύνθεση
- Παρουσίαση 8 - Πίνακες αντικειμένων
- Παρουσίαση 9 - Δείκτες
- Παρουσίαση 10 - Δυναμική δέσμευση μνήμης
- Παρουσίαση 11 - Αναδρομή
- Παρουσίαση 12 - Κατασκευαστής αντιγραφής (copy constructor) και αντιγραφή μέσω τελεστή ανάθεσης (assignment operator)
- Παρουσίαση 13 - Λεκτικά, υπερφόρτωση του τελεστή [] και του τελεστή &
- Παρουσίαση 14 - Κληρονομικότητα
- Παρουσίαση 15 - Πολυμορφισμός και ιδεατές συναρτήσεις
- Παρουσίαση 16 - Πρότυπα
- Παρουσίαση 17 - Συνδεδεμένες λίστες
- Παρουσίαση 18 - Εξαιρέσεις
- Παρουσίαση 19 - Χρήσιμες έννοιες στη C++ και μερικές ακόμα δομές δεδομένων
Οι παραπάνω παρουσιάσεις αποτελούν προσαρμογή υλικού που έχει αναπτυχθεί από τους Robert Myers, Matthew Small, Xin Yuan στα πλαίσια μαθημάτων για τον αντικειμενοστραφή προγραμματισμό με τη C++ COP3330/CGS5409: Object-oriented Programming in C++.
- Παρουσίαση 20 - Δείκτες στη C και στη C++
- Παρουσίαση 21 - STL
- Παρουσίαση 22 - C++ vs. Java
- Παρουσίαση 23 - UML - Διαγράμματα κλάσεων
ΕΡΓΑΣΤΗΡΙΟ
Online μαθήματα για τη C++
- C++ institute - C++ essentials 1 by OpenEDG
- C++ institute - C++ essentials 2 by OpenEDG
- CS107
- Modern C++ Programming - C++03 / C++11 / C++14 / C++17 / C++20 / C++23 / C++26 by Federico Busato
Tutorials για τη C++
- learncpp
- yet another insignificant… programming notes
- wikibooks - C++ programming
- cplusplus.com tutorials
- Learn C++ in Y minutes
- Educative.io - Learn C++ from scratch
- Sololearn: C++
- Udemy: C++ Tutorial for Complete Beginners
Σύνοψη των C++, STL, UML διαγραμμάτων κλάσεων
Τεκμηρίωση της C++ και της STL
- https://devdocs.io/ και με δυνατότητα για offline χρήση
- zeal για offline χρήση
- https://en.cppreference.com/w/
- https://www.cplusplus.com/reference/