Αντικειμενοστραφής Προγραμματισμός (OOP=Object Oriented Programming) με χρήση της C++
Πανεπιστήμιο Ιωαννίνων - Τμήμα Πληροφορικής και Τηλεπικοινωνιών
Γκόγκος Χρήστος - Άρτα@2024
- e-course μαθήματος: http://ecourse.uoi.gr/course/view.php?id=1944
- MS-TEAMS ομάδα για ερωτήσεις - επίλυση αποριών: ALGOLAB
- Θεωρία κάθε Δευτέρα 14:00-16:00 στο ΑΜΦ-Α και Παρασκευή 14:00-16:00 στο ΑΜΦ-Β
- Εργαστήριο 2 ώρες κάθε δεύτερη εβδομάδα σύμφωνα με το πρόγραμμα της κάθε ομάδας
Τελευταία ενημέρωση: 12/1/2024
Ύλη προόδου - ημερομηνία προόδου 8/12/2023 14:00-16:00
Ύλη τελικής εξέτασης - ημερομηνία τελικής εξέτασης 19/2/2024 12:00-15:00
C++ reference card μπορείτε να το έχετε εκτυπωμένο μαζί σας στις εξετάσεις
- Θέματα γενικής επανάληψης
- Θέματα προετοιμασίας Α (για την πρόοδο)
- Θέματα προετοιμασίας Β (για την πρόοδο)
- Θέματα προετοιμασίας Γ (για την πρόοδο)
- Θέματα πρόοδου
- Θέματα προετοιμασίας Δ
- Προσομοίωση εξετάσεων
ΕΡΓΑΣΙΕΣ
- Εκφώνηση πρώτης εργασίας με προθεσμία παράδοσης
26 Νοεμβρίου 2023 - Δεύτερη εργασία με προθεσμία παράδοσης 17 Ιανουαρίου 2024
ΘΕΩΡΙΑ
- Παρουσίαση 1 - Εισαγωγή
- Παρουσίαση 2 - Επίπεδα προστασίας, κατασκευαστές
- Παρουσίαση 3 - Περιβάλλον Unix και μεταγλώττιση
- Παρουσίαση 4 - friend, κατασκευαστές μετατροπής, destructors
- Παρουσίαση 5 - const
- Παρουσίαση 6 - Υπερφόρτωση τελεστών
- Παρουσίαση 7 - Σύνθεση
- Παρουσίαση 8 - Πίνακες αντικειμένων
- Παρουσίαση 9 - Δείκτες
- Παρουσίαση 10 - Δυναμική δέσμευση μνήμης
- Παρουσίαση 11 - Αναδρομή
- Παρουσίαση 12 - Κατασκευαστής αντιγραφής και αντιγραφή μέσω ανάθεσης
- Παρουσίαση 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 - Διαγράμματα κλάσεων
ΕΡΓΑΣΤΗΡΙΟ
Debugging με το GDB
Διάφορα παράδειγματα
- FizzBuzz παράδειγμα με τη βιβλιοθήκη Catch2
- Ανακατεύθυνση εισόδου
Tutorials για τη C++
- Sololearn: C++
- Learn C++ in Y minutes
- Saylor.org Academy: CS107 C++ Programming
- learncpp
- Udemy: C++ Tutorial for Complete Beginners
- Educative.io - Learn C++ from scratch
- cplusplus.com tutorials
Σύνοψη των C++, STL, UML διαγραμμάτων κλάσεων
Τεκμηρίωση της C++ και της STL
- https://devdocs.io/ και με δυνατότητα για offline χρήση
- zeal για offline χρήση
- https://en.cppreference.com/w/
- https://www.cplusplus.com/reference/