Αντικειμενοστραφής Προγραμματισμός

Σχετικά έγγραφα
Αντικειμενοστραφής Προγραμματισμός

Αντικειμενοστραφής Προγραμματισμός

Αντικειμενοστραφής Προγραμματισμός

Αντικειμενοστραφής Προγραμματισμός

Αντικειμενοστραφής Προγραμματισμός

Αντικειμενοστραφής Προγραμματισμός

Αντικειμενοστραφής Προγραμματισμός

Αντικειμενοστραφής Προγραμματισμός

Εφαρμογή Υπολογιστικών Τεχνικών στην Γεωργία

Προγραμματισμός Διαδικτύου

Δομές Δεδομένων Ενότητα 1

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Θεωρία Υπολογισμού. Ενότητα 10 : Κατασκευή ΝΠΑ. Αλέξανδρος Τζάλλας

Λειτουργικά Συστήματα

Ανατομία - Φυσιολογία Ακοής Ομιλίας Λόγου

Ανατομία - Φυσιολογία Ακοής Ομιλίας Λόγου

Ανατομία - Φυσιολογία Ακοής Ομιλίας Λόγου

Ανατομία - Φυσιολογία Ακοής Ομιλίας Λόγου

Ανατομία - Φυσιολογία Ακοής Ομιλίας Λόγου

Προγραμματισμός Διαδικτύου

Ανατομία - Φυσιολογία Ακοής Ομιλίας Λόγου

Πληροφορική II. Ενότητα 5 : Δομές Δεδομένων και αφηρημένοι. τύποι δεδομένων. Δρ. Γκόγκος Χρήστος

Οντοκεντρικός Προγραμματισμός

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού σε κατάσταση Κορεσμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

Φωνολογική Ανάπτυξη και Διαταραχές

Αρχιτεκτονική υπολογιστών

Ανατομία - Φυσιολογία Ακοής Ομιλίας Λόγου

Προχωρημένα Θέματα Προγραμματισμού Δικτύων

Αντικειμενοστραφής Προγραμματισμός

Προγραμματισμός Διαδικτύου

Προγραμματισμός Διαδικτύου

Εκκλησιαστικό Δίκαιο. Ενότητα 10η: Ιερά Σύνοδος της Ιεραρχίας και Διαρκής Ιερά Σύνοδος Κυριάκος Κυριαζόπουλος Τμήμα Νομικής Α.Π.Θ.

Εισαγωγή στους Αλγορίθμους

Αντικειμενοστρεφής Προγραμματισμός Ενότητα 7: Υπερφόρτωση τελεστών. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Δομή του προγράμματος. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Προγραμματισμός H/Y Ενότητα 5: Συναρτήσεις. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Αρχιτεκτονική υπολογιστών

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Θεωρία Υπολογισμού. Ενότητα 9 : Κανονικές Εκφράσεις. Αλέξανδρος Τζάλλας

Εφαρμογή Υπολογιστικών Τεχνικών στην Γεωργία

Διοικητική των επιχειρήσεων

Εισαγωγή στους Αλγορίθμους

Ηλεκτρονικοί Υπολογιστές

Ιστορία της μετάφρασης

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Θεωρία Υπολογισμού. Ενότητα 8 : Αυτόματα NFA - DFA. Αλέξανδρος Τζάλλας

Προχωρημένα Θέματα Προγραμματισμού Δικτύων

Προγραμματισμός Η/Υ. Βασικές Προγραμματιστικές Δομές. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Λειτουργικά Συστήματα

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Προγραμματισμός Ι. Ενότητα 8 : Πίνακες IΙ. Αλέξανδρος Τζάλλας

Προγραμματισμός H/Y Ενότητα 1: Εισαγωγή. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Νοσηλευτική Σεμινάρια

Προγραμματισμός Διαδικτύου

Αντικειμενοστραφής Προγραμματισμός

Ηλεκτρονικοί Υπολογιστές

Λογιστική Κόστους Ενότητα 12: Λογισμός Κόστους (2)

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 3: Έλεγχοι στατιστικών υποθέσεων

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 1: Καταχώρηση δεδομένων

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού Υπέρθερμου Ατμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 2: Περιγραφική στατιστική

Γενικά Μαθηματικά Ι. Ενότητα 15: Ολοκληρώματα Με Ρητές Και Τριγωνομετρικές Συναρτήσεις Λουκάς Βλάχος Τμήμα Φυσικής

Αρχιτεκτονική υπολογιστών

Διοικητική Λογιστική

Μάρκετινγκ Αγροτικών Προϊόντων

Θεσμοί Ευρωπαϊκών Λαών Ι 19 ος -20 ος αιώνας

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Θεωρία Υπολογισμού. Ενότητα 2 : Σύνολα & Σχέσεις (2/2) Αλέξανδρος Τζάλλας

Τεχνικό Σχέδιο - CAD

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

Λοιμώδη Νοσήματα Υγιεινή Αγροτικών Ζώων

Προγραμματισμός Διαδικτύου

Γενικά Μαθηματικά Ι. Ενότητα 12: Κριτήρια Σύγκλισης Σειρών. Λουκάς Βλάχος Τμήμα Φυσικής ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

Εκκλησιαστικό Δίκαιο

Προγραμματισμός H/Y Ενότητα 3: Πίνακες αριθμών και χαρακτήρων. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Προγραμματισμός H/Y Ενότητα 4: Δείκτες. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Προγραμματισμός H/Y Ενότητα 6: Δομές (structures) Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Εισαγωγή στους Αλγορίθμους

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Θεωρία Υπολογισμού. Ενότητα 11 : Γραμματικές χωρίς συμφραζόμενα. Αλέξανδρος Τζάλλας

Θεσμοί Ευρωπαϊκών Λαών Ι 19 ος -20 ος αιώνας

Διδακτική της Πληροφορικής

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Τίτλος Μαθήματος: Μαθηματική Ανάλυση Ενότητα Γ. Ολοκληρωτικός Λογισμός

Νοσηλευτική Σεμινάρια

Στατιστική. 6 ο Μάθημα: Διαστήματα Εμπιστοσύνης και Έλεγχοι Υποθέσεων. Γεώργιος Μενεξές Τμήμα Γεωπονίας ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ

Λειτουργικά Συστήματα

Εκκλησιαστικό Δίκαιο

Αρχιτεκτονική υπολογιστών

Φωνολογική Ανάπτυξη και Διαταραχές

Μηχανολογικό Σχέδιο Ι

Μεθοδολογία Έρευνας Κοινωνικών Επιστημών Ενότητα 2: ΣΥΓΚΕΝΤΡΩΣΗ ΠΛΗΡΟΦΟΡΙΩΝ ΜΑΡΚΕΤΙΝΓΚ Λοίζου Ευστράτιος Τμήμα Τεχνολόγων Γεωπόνων-Kατεύθυνση

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Μικροοικονομική. Ενότητα 7 : Ισορροπία αγοράς Καραμάνης Κωνσταντίνος

Αντικειμενοστρεφής Προγραμματισμός Ενότητα 2: Κλάσεις. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Λογιστική Κόστους Ενότητα 8: Κοστολογική διάρθρωση Κύρια / Βοηθητικά Κέντρα Κόστους.

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Θεωρία Υπολογισμού. Ενότητα 3 : Γραφήματα & Αποδείξεις. Αλέξανδρος Τζάλλας

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Προχωρημένα Θέματα Προγραμματισμού Δικτύων

1 η Διάλεξη. Ενδεικτικές λύσεις ασκήσεων

Ιστορία της μετάφρασης

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική Ι. Ενότητα 4 : Πράξεις με bits. Δρ. Γκόγκος Χρήστος

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Τίτλος Μαθήματος: Ηλεκτρονικοί Υπολογιστές IΙΙ. Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης

Transcript:

1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αντικειμενοστραφής Προγραμματισμός Ενότητα 5 : Δομή Προγράμματος C++ Ιωάννης Τσούλος

2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο Τμήμα Μηχανικών Πληροφορικής Τ.Ε Αντικειμενοστραφής Προγραμματισμός Ενότητα 5 : Δομή Προγράμματος C++ Ιωάννης Τσούλος Επίκουρος Καθηγητής Άρτα, 2015

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. 3 3

4 Χρηματοδότηση Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο TEI Ηπείρου» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα.

Η ρουτίνα main() Η ρουτίνα main() μπορεί να βρίσκεται σε οποιοδήποτε αρχείο πηγαίου κώδικα του προγράμματός μας, αλλά μπορεί να είναι μόνο μία για κάθε εκτελέσιμο πρόγραμμα. #include <iostream> int main(int argc, char *argv[]) { std::cout << hello everyone << std::endl; } Με την εντολή #include εισάγουμε την κεφαλίδα iostream που δηλώνεται η χρήση των βασικών stream εισόδου και εξόδου της C++, των cin, cout και cerr αντίστοιχα. Όσον αφορά την int αναφέρεται στο ότι η ρουτίνα main() επιστρέφει στο λειτουργικό σύστημα έναν κωδικό επιτυχίας ή αποτυχίας εκτέλεσης του προγράμματος. O κωδικός αυτός είναι μηδέν (0) για επιτυχή εκτέλεση του προγράμματος και μή μηδενικό (5, 10, ή άλλο) σε περίπτωση ελεγχόμενου τερματισμού του προγράμματος. 5 5

Η ρουτίνα main() Οι παράμετροι argc,argv περιέχουν τις παραμέτρους με τις οποίες καλείται το πρόγραμμα από την γραμμή εντολών. Ο λόγος που έχουμε δύο παραμέτρους είναι ότι ένας πίνακας στη C/C++ δεν παρέχει κάποιο εύκολο τρόπο πληροφόρησης του μεγέθους του. Έτσι ενώ ο πίνακας argv[] περιέχει τις παραμέτρους σε strings της C (ακολουθίες χαρακτήρων char και όχι αντικείμενα string), δεν είναι δυνατό να γνωρίζουμε το πλήθος αυτών των παραμέτρων χωρίς την argc. 6 6

Η ρουτίνα main() Το cout είναι το stream που αντιστοιχεί στη πρότυπη έξοδο (standard output) όπου τυπώνονται τα μηνύματα (την ίδια λειτουργία σε άλλες γλώσσες έχουν εντολές όπως print, printf, write, κλπ). Το endl συμβολίζει το χαρακτήρα νέας γραμμής (new line) και έχει ακριβώς την ίδια λειτουργία με την εκτύπωση του χαρακτήρα \n (για την ακρίβεια κάνει και flush το stream εξόδου). 7 7

Η ρουτίνα main() Tο cout και το endl έχουν το πρόθεμα std με διπλές άνω και κάτω τελείες ::. Το πρόθεμα αυτό συμβολίζει το namespace στο οποίο ανήκει το αντικείμενο stream cout και το endl, δηλαδή το πεδίο ισχύος τους. Αν ο κώδικάς μας ανήκε στο ίδιο namespace std, δε θα ήταν αναγκαία η χρήση του προθέματος std::, αλλά το συγκεκριμένο namespace είναι ήδη καθορισμένο και δεν συνιστάται η τροποποίηση ή προσθήκη άλλων κλάσεων ή αντικειμένων. Οποιαδήποτε χρήση αντικειμένου εκτός κάποιου namespace απαιτεί το πρόθεμα του ονόματος του namespace (στην προκειμένη περίπτωση το std) ακολουθούμενο από '::'. 8 8

Η ρουτίνα main() Εναλλακτικά, θα μπορούσαμε να χρησιμοποιήσουμε στην αρχή του προγράμματος (εκτός της ρουτίνας main()) την εντολή using namespace std; ώστε να μετασχηματιστεί το πρόγραμμά μας στο εξής: using namespace std; #include <iostream> int main(int argc, char *argv[]) { cout << hello everyone << endl; } Τα δύο προγράμματα είναι απολύτως ισοδύναμα. 9 9

Παράμετροι της main() #include <iostream> using namespace std; int main(int argc, char *argv[]) { for (int i=0; i < argc; i++) cout << argv[i] << endl; } C:\> ArgsExample hello mate what's up? ArgsExample hello mate what's up? 4 παράμετροι (ArgsExample, hello, mate και what's up? ) τις οποίες τυπώνει μία σε κάθε γραμμή. Στη C/C++ η πρώτη παράμετρος (argv[0]) είναι πάντα το όνομα του προγράμματος που εκτελείται. Οι παράμετροι γενικά χωρίζονται με κενούς χαρακτήρες (space, tab) εκτός αν περικλείονται ανάμεσα σε εισαγωγικά, οπότε θεωρούνται και οι κενοί χαρακτήρες μέρος της παραμέτρου (όπως και με τη παράμετρο what's up? πιο πάνω). 10 1

Βιβλιογραφία 1. Εγχειρίδιο της C++, 2η Ελληνική έκδοση, Jesse Liberty, Γκιούρδας. 2. Μάθετε τη C++, 2η Ελληνική έκδοση, Jesse Liberty, Γκιούρδας. 3. Προγραμματισμός με τη γλώσσα C++ Μέρος Α, Αλεβίζος Θ., Έκδοση ΤΕΙ Καβάλας 4. C++ Αντικειμενοστραφής Προγραμματισμός Υπολογιστών Τομαράς Α.,, Εκδόσεις Νέων Τεχνολογιών. 5. Ανακαλύψτε τη γλώσσα C, J. Purdum, Εκδόσεις Δίαυλος. 6. Εισαγωγή στο Συστηματικό Προγραμματισμό και στη γλώσσα C++, Σ. Μπαλτζής, εκδόσεις πανεπιστημίου Ιωαννίνων. 7. C++ From the beginning, Jan Skansholm, Addison Wesley. 8. The design and analysis of computer algorithms, A.V. AHO, J.E. HOPCROFT, J.D. ULLMANN, Addison Wesley 1974. 9. Structure and Interpretation of Computer Programs, H. ABELSON, G.J. SUSSMAN, J. SUSSMAN, MIT Press, Mc Graw Hill Book Company, 1985 10. The art of computer programming, D.E. KNUTH, Addison-Wesley. 1

1 12 Αντικειμενοστραφής Προγραμματισμός Δομή Προγράμματος C++, Τμήμα Μηχανικών Πληροφορικής, ΤΕΙ ΗΠΕΙΡΟΥ - Ανοιχτά Ακαδημαϊκά Μαθήματα στο Σημείωμα Αναφοράς Copyright Τεχνολογικό Ίδρυμα Ηπείρου. Ιωάννης Τσούλος. Αντικειμενοστραφής Προγραμματισμός. Έκδοση: 1.0 Άρτα, 2015. Διαθέσιμο από τη δικτυακή διεύθυνση: http://eclass.teiep.gr/courses/comp113/

Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά Δημιουργού-Μη Εμπορική Χρήση-Όχι Παράγωγα Έργα 4.0 Διεθνές [1] ή μεταγενέστερη. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, Διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό και τα οποία αναφέρονται μαζί με τους όρους χρήσης τους στο «Σημείωμα Χρήσης Έργων Τρίτων». Ο δικαιούχος μπορεί να παρέχει στον αδειοδόχο ξεχωριστή άδεια να χρησιμοποιεί το έργο για εμπορική χρήση, εφόσον αυτό του ζητηθεί. [1] http://creativecommons.org/licenses/by-nc-nd/4.0/deed.el 1

1 Αντικειμενοστραφής Προγραμματισμός Δομή Προγράμματος C++, Τμήμα Μηχανικών Πληροφορικής, ΤΕΙ ΗΠΕΙΡΟΥ - Ανοιχτά Ακαδημαϊκά Μαθήματα στο Τέλος Ενότητας Επεξεργασία: Ευάγγελος Καρβούνης Άρτα, 2015

1 Τέλος Ενότητας Δομή Προγράμματος C++