Στόχος Μαθήματος
Το μάθημα αυτό στοχεύει να εμπλουτίσει περεταίρω τις γνώσεις των φοιτητών στον αντικειμενοστρεφή προγραμματισμό με την C++. Το μάθημα διδάσκει την C++ αρχίζοντας από απλές έννοιες όπως κλάσεις, αντικείμενα, κληρονομικότητα, κλάσεις ροής εισόδου / εξόδου, αναφορά στους τύπους της C++, δείκτες, struct, κλπ. Επίσης διδάσκονται οι έννοιες της πολυπλοκότητας και της υπερφόρτωσης τελεστών.
ΕΝΟΤΗΤΕΣ - ΚΕΦΑΛΑΙΑ:
Κλάσεις, παράγωγες κλάσεις, κλάσεις εισόδου/εξόδου, αφαιρετικές δομές, δείκτες, κληρονομικότητα, υπερφόρτωση τελεστών, πολυπλοκότητα.
Μαθησιακά Αποτελέσματα
Μετά την επιτυχή ολοκλήρωση του μαθήματος, ο διδασκόμενος θα πρέπει:
• Να γνωρίζει την διαφορά ανάμεσα στον αντικειμενοστρεφή και δομημένο προγραμματισμό.
• Να γνωρίζει τις έννοιες όπως κλάσεις, αντικείμενα συναρτήσεις-μέλη και δεδομένα-μέλη.
• Να γνωρίζει τις διαφορές των προσδιοριστών πρόσβασης (public, private, protected) και τι είναι ο constructor και ο destructor.
• Να είναι σε θέση να γράφει τις κλάσεις σε διαφορετικό αρχείο να δημιουργεί project με διαχωρισμό των προγραμμάτων σε ιinterface, implementation και client για σκοπούς reusability.
• Να γνωρίζει τις έννοιες όπως encapsulation, inheritance, polymorphism και virtual methods.
• Να μπορεί να λύνει προβλήματα με τη χρήση εντολών ελέγχου, με δείκτες, με γραμματοσειρές, με αρχεία, πίνακες και διανύσματα και με συναρτήσεις.
• Να ξέρει να χρησιμοποιεί τις περισσότερες βιβλιοθήκες που διαθέτει η C++.
Περιεχόμενο Μαθήματος
Τα θέματα που θα εξεταστούν συμπεριλαμβάνουν: Κλάσεις και όλες οι γενικές έννοιες του αντικειμενοστρεφή προγραμματισμού όπως encapsulation, inheritance, polymorphism και virtual methods. Επίσης θα εξεταστούν όλες οι εντολές της C++, όπως εντολές ελέγχου, συναρτήσεις, διάφορες βιβλιοθήκες, τυχαίους αριθμούς, κλάσεις αποθήκευσης και κανόνες πεδίου εφαρμογής, αναδρομή, πίνακες και γραμματοσειρές, πολυδιάστατους πίνακες, δείκτες, μορφοποίηση εσόδων/εξόδων και επεξεργασία αρχείων.