Αντικειμενοστρεφής Προγραμματισμός Ενότητα 9: Ειδικά θέματα γλώσσας C/C++. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)
Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. 2
Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο TEI Δυτικής Μακεδονίας και στην Ανώτατη Εκκλησιαστική Ακαδημία Θεσσαλονίκης» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 3
Σκοποί Ενότητας Περεταίρω εμβάθυνση και εμπλουτισμός γνώσεων σε ειδικά θέματα της C++ 4
Περιεχόμενα Ειδικά θέματα γλώσσας C/C++ Αλήθεια και ψέμα Συντομογραφίες τελεστών Ο τελεστής κόμμα Ο τελεστής υπο-συνθήκη Αναδρομικές συναρτήσεις Ένωση typedef Απαριθμήσεις Ειδικοί τύποι μεταβλητών Τελεστές κατά δυαδικό ψηφίο 5
Ειδικά θέματα γλώσσας C/C++ (1) Στην γλώσσα C++ η είσοδος και η έξοδος γίνεται μέσω ρευμάτων (streams). Το ρεύμα είναι μια λογική διασύνδεση του προγράμματος με συσκευές του Η/Υ. Μπορούν να θεωρηθούν σαν κανάλια για την μεταφορά δεδομένων. Ένα ρεύμα εισόδου δέχεται δεδομένα (bytes) από μια περιφερειακή συσκευή (πληκτρολόγιο, αρχείο σε δίσκο). Ένα ρεύμα εξόδου στέλνει δεδομένα (bytes) σε μια συσκευή εξόδου (οθόνη, αρχείο, εκτυπωτή). 6
Ειδικά θέματα γλώσσας C/C++ (2) Αλήθεια και ψέμα συντομογραφίες τελεστών (+=, -=, *=, /=, %=) ο τελεστής κόμμα (όταν γράφουμε πολλές εκφράσεις στην ίδια εντολή, χωρισμένες μεταξύ τους με κόμμα, τότε εκτελούνται από αριστερά προς τα δεξιά με τη σειρά) ο τελεστής υπο-συνθήκη (?:) αναδρομικές συναρτήσεις (ονομάζονται οι συναρτήσεις που καλούν τον εαυτό τους). 7
Ειδικά θέματα γλώσσας C/C++ (3) Ένωση (union), είναι μια μορφή δομής (structure). Ωστόσο, οι μεταβλητές που περιλαμβάνει η ένωση αποθηκεύονται στις ίδιες θέσεις μνήμης, επικαλύπτοντας η μια την άλλη. typedef: Με την typedef μπορούμε να δηλώσουμε νέους τύπους στην C. Απαριθμήσεις (enumerations): Μια απαρίθμηση (enumaration) είναι ένας τρόπος για να ορίζουμε με συμβολικά ονόματα ακέραιες σταθερές. 8
Ειδικά θέματα γλώσσας C/C++ (4) Ειδικοί τύποι μεταβλητών (auto, extern, static, register), και τροποποιητές τύπων (const, volatile). Τελεστές κατά δυαδικό ψηφίο: not and or xor shift right, shift left (~, &,, ^, >>, <<), εφαρμόζονται σε ακέραιους τύπους και επιδρούν στα bit τους. 9
Βιβλιογραφία Δημήτρης Συνδουκάς 2007, Αντικειμενοστρεφής προγραμματισμός με C++ - Ασκήσεις, Εσωτερική έκδοση του ΤΕΙ Νίκος Μ. Χατζηγιαννάκης 2008, Η Γλώσσα C++ σε βάθος (1η έκδοση), ΚΛΕΙΔΑΡΙΘΜΟΣ ΕΠΕ, Αθήνα [ISBN: 978-960-461-143-0] Walter Savitch. 2011, Πλήρης C++ (1η έκδοση), Α. ΤΖΙΟΛΑ & ΥΙΟΙ Ο.Ε., Αθήνα, [ISBN: 978-960-418-358-6] Herbert Schildt 2005, C++ Βήμα προς Βήμα (2η έκδοση), Α. ΤΖΙΟΛΑ & ΥΙΟΙ Ο.Ε., Αθήνα, [ISBN: 960-512-449-1] Harvey M.Deitel, Paul J. Deitel, 2011, C++ Προγραμματισμός (6η έκδοση), Γκιούρδας Μ., Αθήνα, [ISBN: 978-960-512-5912] Jesse Liberty 2006, Πλήρες Εγχειρίδιο της C++ (Πέμπτη έκδοση), Γκιούρδας Μ., Αθήνα, [ISBN: 978-960-512-318-5] Deitel Paul J.,Deitel Harvey M., Java Προγραμματισμός, 8 η έκδοση, Εκδόσεις Χ. Γκιούρδα και ΣΙΑ, 2008, ISBN: 978-960-512-592-9. Savitch Walter, Java, 4 η έκδοση, 2007, Εκδόσεις Α. Τζιόλα και Υιοί, ISBN: 978-960-418-147-6. 10
Τέλος Ενότητας
Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά, Μη Εμπορική Χρήση Παρόμοια Διανομή 4.0 [1] ή μεταγενέστερη, Διεθνής Έκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό και τα οποία αναφέρονται μαζί με τους όρους χρήσης τους στο «Σημείωμα Χρήσης Έργων Τρίτων». [1] http://creativecommons.org/licenses/by-nc-sa/4.0/ Ως Μη Εμπορική ορίζεται η χρήση: που δεν περιλαμβάνει άμεσο ή έμμεσο οικονομικό όφελος από την χρήση του έργου, για το διανομέα του έργου και αδειοδόχο. που δεν περιλαμβάνει οικονομική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο. που δεν προσπορίζει στο διανομέα του έργου και αδειοδόχο έμμεσο οικονομικό όφελος (π.χ. διαφημίσεις) από την προβολή του έργου σε διαδικτυακό τόπο. Ο δικαιούχος μπορεί να παρέχει στον αδειοδόχο ξεχωριστή άδεια να χρησιμοποιεί το έργο για εμπορική χρήση, εφόσον αυτό του ζητηθεί. 12
Διατήρηση Σημειωμάτων Οποιαδήποτε αναπαραγωγή ή διασκευή του υλικού θα πρέπει να συμπεριλαμβάνει: το Σημείωμα Αναφοράς. το Σημείωμα Αδειοδότησης. τη δήλωση Διατήρησης Σημειωμάτων. το Σημείωμα Χρήσης Έργων Τρίτων (εφόσον υπάρχει). μαζί με τους συνοδευόμενους υπερσυνδέσμους. 13