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

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

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

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

Επιχειρηςιακή Έρευνα και εφαρμογζσ με την χρήςη του λογιςμικοφ R

Αναπαράςταςθ Γνώςθσ ςτον Παγκόςμιο Ιςτό Ενότθτα 2: XML Δομθμζνα Ζγγραφα Ιςτοφ, Μζροσ 4 ο XPath

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

Αποτυπώςεισ & Τεκμηρίωςη Αντικειμζνων

ΘΕΡΜΟΔΤΝΑΜΙΚΗ IΙ. Ενότθτα 4: Χθμικζσ αντιδράςεισ αερίων τακερά Χθμικισ Ιςορροπίασ Πρότυπθ Ελεφκερθ Ενζργεια

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

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

Κλαςικι Ηλεκτροδυναμικι

Aντιπτζριςη (ΕΠ027) Ενότητα 10

Aντιπτζριςθ (ΕΠ027) Ενότθτα 12

Διδακτικι τθσ Γλϊςςασ Ι

Ψθφιακι Επεξεργαςία ιματοσ

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

Τεχνικζσ Ανάλυςησ Διοικητικών Αποφάςεων

Αναπαράςταςθ Γνώςθσ ςτον Παγκόςμιο Ιςτό Ενότθτα 5: Κανόνεσ Λογικι και Συμπεραςμόσ

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

Ειςαγωγή ςτη διδακτική των γλωςςών

Ειδικζσ Ναυπηγικζσ Καταςκευζσ και Ιςτιοφόρα κάφη (Ε)

Ερωτήσεις επανάληψης. Ενδοκρινείς αδένες. Τμήμα Ιαηρικής Πανεπιζηήμιο Παηρών

ΘΕΡΜΟΔΤΝΑΜΙΚΘ IΙ. Ενότθτα 11: Διαλυτότθτα Ιδανικά διαλφματα ογομών Μπογοςιάν Πολυτεχνικι χολι Σμιμα Χθμικών Μθχανικών

ΠΟΤΔΗ ΣΗ ΤΝΟΠΣΙΚΗ ΠΑΡΑΔΟΗ ΚΑΙ ΣΗΝ Q

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

ΔΙΔΑΚΤΙΚΗ ΤΗΣ ΠΑΙΔΑΓΩΓΙΚΗΣ ΓΥΜΝΑΣΤΙΚΗΣ ΙΙ

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

ΘΕΡΜΟΔΤΝΑΜΙΚΗ Ι. Ενότθτα 3: Μθδενικόσ Νόμοσ - Ζργο. ογομϊν Μπογοςιάν Πολυτεχνικι χολι Σμιμα Χθμικϊν Μθχανικϊν

Ψθφιακά Ηλεκτρονικά. Ενότθτα 5 : Ανάλυςθ κυκλώματοσ με D και JK FLIP- FLOP Φώτιοσ Βαρτηιώτθσ

ΔΙΔΑΚΤΙΚΗ ΤΗΣ ΠΑΙΔΑΓΩΓΙΚΗΣ ΓΥΜΝΑΣΤΙΚΗΣ ΙΙ

Επιχειρηςιακή Ζρευνα και εφαρμογζσ με την χρήςη του λογιςμικοφ R

ΘΕΟΛΟΓΙΑ ΚΑΙΝΗΣ ΔΙΑΘΗΚΗΣ

Ψθφιακι Επεξεργαςία ιματοσ

ΘΕΡΜΟΔΤΝΑΜΙΚΗ Ι. Ενότθτα 1: Βαςικά χαρακτθριςτικά τθσ Θερμοδυναμικισ. ογομϊν Μπογοςιάν Πολυτεχνικι χολι Σμιμα Χθμικϊν Μθχανικϊν

ΘΕΟΛΟΓΙΑ ΚΑΙΝΗΣ ΔΙΑΘΗΚΗΣ

Ψθφιακι Επεξεργαςία ιματοσ

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

Διαγλωςςική Επικοινωνία

Τεχνικζσ Ανάλυςησ Διοικητικών Αποφάςεων

ΔΙΔΑΚΤΙΚΗ ΤΗΣ ΠΑΙΔΑΓΩΓΙΚΗΣ ΓΥΜΝΑΣΤΙΚΗΣ ΙΙ

Διαγλωςςική Επικοινωνία

Παράγοντεσ υμμετοχήσ Ενηλίκων ςτην Εκπαίδευςη: Ζητήματα Κινητοποίηςησ και Πρόςβαςησ ςε Οργανωμζνεσ Εκπαιδευτικζσ Δραςτηριότητεσ

ΔΙΔΑΚΤΙΚΗ ΤΗΣ ΠΑΙΔΑΓΩΓΙΚΗΣ ΓΥΜΝΑΣΤΙΚΗΣ ΙΙ

Επιχειρηςιακή Ζρευνα και εφαρμογζσ με την χρήςη του λογιςμικοφ R

Aντιπτζριςη (ΕΠ027) Ενότητα 6

ΘΕΟΛΟΓΙΑ ΚΑΙΝΗΣ ΔΙΑΘΗΚΗΣ

Τεχνολογία Περιβάλλοντοσ: Διαχείριςθ Υγρών Αποβλιτων Ενότθτα 9: Απολφμανςθ. Κορνάροσ Μιχαιλ Πολυτεχνικι Σχολι Τμιμα Χθμικών Μθχανικών

ΠΟΤΔΗ ΣΗ ΤΝΟΠΣΙΚΗ ΠΑΡΑΔΟΗ ΚΑΙ ΣΗΝ Q

ΕΙΚΟΝΙΚΟ ΕΡΓΑΣΗΡΙΟ ΠΑΙΔΟΚΑΡΔΙΟΛΟΓΙΑ Ενότητα: Φυςιολογία εμβρυϊκισ και περιγεννθτικισ κυκλοφορίασ

ΘΕΟΛΟΓΙΑ ΚΑΙΝΗΣ ΔΙΑΘΗΚΗΣ

Aντιπτζριςη (ΕΠ027) Ενότητα 5

Επιχειρηςιακή Έρευνα και εφαρμογζσ με την χρήςη του λογιςμικοφ R

Ειςαγωγή ςτη διδακτική των γλωςςών

Ελλθνικι Δθμοκρατία Σεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Ψθφιακά Ηλεκτρονικά. Ενότθτα 9 : Διαδικαςία φνκεςθσ Φϊτιοσ Βαρτηιϊτθσ

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

Ψθφιακι Επεξεργαςία ιματοσ

ΠΟΤΔΗ ΣΗ ΤΝΟΠΣΙΚΗ ΠΑΡΑΔΟΗ ΚΑΙ ΣΗΝ Q

Αναπαράςταςθ Γνϊςθσ ςτον Παγκόςμιο Ιςτό Ενότθτα 2: XML Δομθμζνα Ζγγραφα Ιςτοφ, Μζροσ 2 ο - DTD

Εκκλθςιαςτικό Δίκαιο ΙΙΙ (Μεταπτυχιακό)

Τεχνολογία Περιβάλλοντοσ: Διαχείριςθ Στερεών Αποβλιτων Ενότθτα 4: Μθχανικόσ Διαχωριςμόσ. Κορνάροσ Μιχαιλ Πολυτεχνικι Σχολι Τμιμα Χθμικών Μθχανικών

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

ΣΑ ΑΠΟΚΡΤΦΑ ΕΤΑΓΓΕΛΙΑ

Διδακτικζσ Προςεγγίςεισ Διερευνθτικισ Μάκθςθσ

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

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

ΘΕΟΛΟΓΙΑ ΚΑΙΝΗΣ ΔΙΑΘΗΚΗΣ

ΠΟΤΔΗ ΣΗ ΤΝΟΠΣΙΚΗ ΠΑΡΑΔΟΗ ΚΑΙ ΣΗΝ Q

ΔΙΔΑΚΣΙΚΗ ΣΗ ΠΑΙΔΑΓΩΓΙΚΗ ΓΤΜΝΑΣΙΚΗ ΙΙ

ΘΕΟΛΟΓΙΑ ΚΑΙΝΗΣ ΔΙΑΘΗΚΗΣ

Ειςαγωγή ςτη διδακτική των γλωςςών

Ελλθνικι Δθμοκρατία Σεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Ψθφιακά Ηλεκτρονικά. Ενότθτα 11 : Μετρθτζσ Ριπισ Φϊτιοσ Βαρτηιϊτθσ

Ψθφιακι Επεξεργαςία ιματοσ

Διδακτικι τθσ Γλϊςςασ Ι

Παράγοντεσ υμμετοχήσ Ενηλίκων ςτην Εκπαίδευςη: Ζητήματα Κινητοποίηςησ και Πρόςβαςησ ςε Οργανωμζνεσ Εκπαιδευτικζσ Δραςτηριότητεσ

Ερμθνεία και ερμθνευτικι τθσ Καινισ Διακικθσ

Ψθφιακι Επεξεργαςία ιματοσ

ΠΟΤΔΗ ΣΗ ΤΝΟΠΣΙΚΗ ΠΑΡΑΔΟΗ ΚΑΙ ΣΗΝ Q

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

Αναπαράςταςθ Γνϊςθσ ςτον Παγκόςμιο Ιςτό Ενότθτα 2: XML Δομθμζνα Ζγγραφα Ιςτοφ, Μζροσ 1 ο - XML

ΔΙΔΑΚΤΙΚΗ ΤΗΣ ΠΑΙΔΑΓΩΓΙΚΗΣ ΓΥΜΝΑΣΤΙΚΗΣ ΙΙ

Μυκθτολογικζσ αςκζνειεσ δενδρωδϊν και αμπζλου

ΘΕΡΜΟΔΤΝΑΜΙΚΗ Ι. Ενότθτα 4: Πρϊτοσ Θερμοδυναμικόσ Νόμοσ. ογομϊν Μπογοςιάν Πολυτεχνικι χολι Σμιμα Χθμικϊν Μθχανικϊν

ΠΡΟΠΟΝΗΣΙΚΕ ΠΡΟΑΡΜΟΓΕ ΣΙ ΑΝΑΠΣΤΞΙΑΚΕ ΗΛΙΚΙΕ (555)

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

ΘΕΟΛΟΓΙΑ ΚΑΙΝΗΣ ΔΙΑΘΗΚΗΣ

EMUNI A.U.Th. SUMMER SCHOOL

Τεχνθτι Νοθμοςφνθ. Ενότθτα 2: Αναπαράςταςθ Γνϊςθσ και Συλλογιςμόσ. Ιωάννθσ Χατηθλυγεροφδθσ Πολυτεχνικι Σχολι Τμιμα Μθχανικϊν Η/Υ & Πλθροφορικισ

κοποί ενότθτασ Σίτλοσ Ενότθτασ

ΕΙΚΟΝΙΚΟ ΕΡΓΑΣΗΡΙΟ ΠΑΙΔΟΚΑΡΔΙΟΛΟΓΙΑ Ενότητα: Bαρφτατεσ μορφζσ (critical) ςυγγενϊν καρδιοπακειϊν

ΠΟΤΔΗ ΣΗ ΤΝΟΠΣΙΚΗ ΠΑΡΑΔΟΗ ΚΑΙ ΣΗΝ Q

ΘΕΡΜΟΔΤΝΑΜΙΚΗ Ι. Ενότθτα 11: Μεταπτϊςεισ πρϊτθσ και δεφτερθσ τάξθσ. ογομϊν Μπογοςιάν Πολυτεχνικι χολι Σμιμα Χθμικϊν Μθχανικϊν

Aντιπτζριςη (ΕΠ027) Ενότητα 2

ΠΟΤΔΗ ΣΗ ΤΝΟΠΣΙΚΗ ΠΑΡΑΔΟΗ ΚΑΙ ΣΗΝ Q

Ειςαγωγι ςτισ Μεταφραςτικζσ Σπουδζσ

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

Βάςεισ Δεδομζνων Ι. Ενότθτα 10: Συνακροιςτικζσ ςυναρτιςεισ. Δρ. Σςιμπίρθσ Αλκιβιάδθσ Σμιμα Μθχανικών Πλθροφορικισ ΣΕ

Τεχνθτι Νοθμοςφνθ. Ενότθτα 4: Στρατθγικζσ Ελζγχου Επίλυςθσ. Ιωάννθσ Χατηθλυγεροφδθσ Πολυτεχνικι Σχολι Τμιμα Μθχανικϊν Η/Υ & Πλθροφορικισ

Aντιπτζριςη (ΕΠ027) Ενότητα 9

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

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

Transcript:

Οντοκεντρικόσ Προγραμματιςμόσ Ενότθτα 7: C++ TEMPLATES, ΤΠΕΡΦΟΡΣΩΗ ΣΕΛΕΣΩΝ, ΕΞΑΙΡΕΕΙ Templates Ιωάννθσ Χατηθλυγεροφδθσ Πολυτεχνικι χολι Σμιμα Μθχανικών Η/Τ & Πλθροφορικισ

Templates

Ειςαγωγι Templates o Templates υναρτιςεων Οριςμόσ μιασ ςειράσ ςχετιηόμενων ςυναρτιςεων (με υπερφόρτωςθ) o Templates Σάξεων Οριςμόσ μιασ ςειράσ ςχετικών κλάςεων 3/16

Function Templates Τπερφορτωμζνεσ υναρτιςεισ (Overloaded) o Παρόμοιεσ λειτουργίεσ Διαφορετικόσ τφποσ δεδομζνων Πρότυπεσ υναρτιςεισ (templates) o Ίδια ακριβώσ λειτουργία Διαφορετικόσ τφποσ δεδομζνων o Διλωςθ μιασ μόνο ςυνάρτθςθσ template O compiler παράγει ξεχωριςτζσ ςυναρτιςεισ o Type checking 4/16

Function Templates Οριςμόσ Function template o Οριςμόσ με τθν λζξθ κλειδί template o Ο τφποσ των παραμζτρων δθλώνεται μζςα ςε brackets < > Πριν από κάκε παράμετρο μπαίνει το: class ι typename (ιςοδφναμα) template< class T > template< typename ElementType > template< class BorderType, class FillType > Μποροφμε να κακορίςουμε τον τφπο ςε: Ορίςματα ςυνάρτθςθσ Σφποσ επιςτρεφόμενθσ τιμισ Σοπικζσ Μεταβλθτζσ μζςα ςτο ςώμα τθσ ςυνάρτθςθσ 5/16

Παράδειγμα #include iostream using namespace std; template <class T> class mypair { T a, b; public: mypair (T first, T second){ a=first; b=second; T getmax (); ; Η κλάςθ mypair περιζχει δφο όμοιεσ μεταβλθτζσ. Ο τφποσ των μεταβλθτών κα κακορίηεται κάκε φορά κατά τθν δθμιουργία ενόσ αντικειμζνου. template <class T> T mypair<t>::getmax () { T retval; retval = a>b? a : b; return retval; int main () { mypair <int> integerpair (100, 75); cout << integerpair.getmax(); mypair <char> charpair ('g', 'c'); cout << charpair.getmax(); return 0; Ο τφποσ μπορεί να είναι build in όπωσ ςτο παράδειγμα (int, char) αλλά και οποιαςδιποτε κλάςθσ. ΠΧ: Dog dog1("max") Dog dog2("wolfy"); mypair <Dog> charpair (dog1, dog2); Προςοχι: ςτο ςυγκεκριμζνο παράδειγμα κα πρζπει ςτθν κλάςθ Dog να ζχουμε κάνει υπερφόρτωςθ του τελεςτι ςφγκριςθσ > 6/16

Υλοποίθςθ Στοίβασ με Template Κλάςθ template< class T > class Stack { public: Stack( int = 10 ); ~Stack() { delete [] stackptr; bool push( const T& ); bool pop( T& ); bool isempty() const { return top == -1; bool isfull() const { return (top == size - 1); private: int size; int top; T *stackptr; ; template< class T > Stack< T >::Stack( int s ){ size = s > 0? s : 10; top = -1; stackptr = new T[ size ]; template< class T > bool Stack< T >::push( const T &pushvalue ){ if (!isfull() ) { stackptr[ ++top ] = pushvalue; return true; return false; template< class T > bool Stack< T >::pop( T &popvalue ){ if (!isempty() ) { popvalue = stackptr[ top-- ]; return true; return false; 7/16

Templates και static μζλθ Απλι κλάςθ (όχι template class) o Σα static μζλθ μοιράηονται από όλα τα αντικείμενα Class-template o Κάκε τφποσ ζχει δικά του αντίγραφα των static μεταβλθτών o static μεταβλθτζσ αρχικοποιοφνται ςε εμβζλεια αρχείου o Κάκε τφποσ ζχει δικά του αντίγραφα των static μεκόδων 8/16

Πρόςκετο Υλικό Μελετιςτε και τα παραδείγματα από τα Κεφάλαια 18 του βιβλίου: «C++ How to Program, 9/e Paul & Harvey Deitel» http://media.pearsoncmg.com/ph/esm/deitel/cpp_htp_9/code_examples/code_examples.zip 9/16

Χρθματοδότθςθ Σο παρόν εκπαιδευτικό υλικό ζχει αναπτυχκεί ςτo πλαίςιo του εκπαιδευτικοφ ζργου του διδάςκοντα. Σο ζργο «Ανοικτά Ακαδθμαϊκά Μακιματα ςτο Πανεπιςτιμιο Ακθνών» ζχει χρθματοδοτιςει μόνο τθν αναδιαμόρφωςθ του εκπαιδευτικοφ υλικοφ. Σο ζργο υλοποιείται ςτο πλαίςιο του Επιχειρθςιακοφ Προγράμματοσ «Εκπαίδευςθ και Δια Βίου Μάκθςθ» και ςυγχρθματοδοτείται από τθν Ευρωπαϊκι Ζνωςθ (Ευρωπαϊκό Κοινωνικό Σαμείο) και από εκνικοφσ πόρουσ. 10/16

θμείωμα Ιςτορικοφ Εκδόςεων Ζργου Σο παρόν ζργο αποτελεί τθν ζκδοςθ 1.0. 11/16

θμείωμα Αναφοράσ Copyright: Πανεπιςτιμιον Πατρών, Ιωάννθσ Χατηθλυγεροφδθσ, 2015. «Οντοκεντρικόσ Προγραμματιςμόσ». Ζκδοςθ: 1.0. Πάτρα 2015. Διακζςιμο από τθ δικτυακι διεφκυνςθ: https://eclass.upatras.gr/courses/ceid1105/ 12/16

θμείωμα Αδειοδότθςθσ Σο παρόν υλικό διατίκεται με τουσ όρουσ τθσ άδειασ χριςθσ Creative Commons Αναφορά, Μθ Εμπορικι Χριςθ Παρόμοια Διανομι 4.0 *1+ ι μεταγενζςτερθ, Διεκνισ Ζκδοςθ. Εξαιροφνται τα αυτοτελι ζργα τρίτων π.χ. φωτογραφίεσ, διαγράμματα κ.λ.π., τα οποία εμπεριζχονται ςε αυτό και τα οποία αναφζρονται μαηί με τουσ όρουσ χριςθσ τουσ ςτο «θμείωμα Χριςθσ Ζργων Σρίτων». [1] http://creativecommons.org/licenses/by-nc-sa/4.0/ Ωσ Μθ Εμπορικι ορίηεται θ χριςθ: που δεν περιλαμβάνει άμεςο ι ζμμεςο οικονομικό όφελοσ από τθν χριςθ του ζργου, για το διανομζα του ζργου και αδειοδόχο που δεν περιλαμβάνει οικονομικι ςυναλλαγι ωσ προχπόκεςθ για τθ χριςθ ι πρόςβαςθ ςτο ζργο που δεν προςπορίηει ςτο διανομζα του ζργου και αδειοδόχο ζμμεςο οικονομικό όφελοσ (π.χ. διαφθμίςεισ) από τθν προβολι του ζργου ςε διαδικτυακό τόπο Ο δικαιοφχοσ μπορεί να παρζχει ςτον αδειοδόχο ξεχωριςτι άδεια να χρθςιμοποιεί το ζργο για εμπορικι χριςθ, εφόςον αυτό του ηθτθκεί.

Διατιρθςθ θμειωμάτων Οποιαδιποτε αναπαραγωγι ι διαςκευι του υλικοφ κα πρζπει να ςυμπεριλαμβάνει: το θμείωμα Αναφοράσ το θμείωμα Αδειοδότθςθσ τθ διλωςθ Διατιρθςθσ θμειωμάτων το θμείωμα Χριςθσ Ζργων Σρίτων (εφόςον υπάρχει) μαηί με τουσ ςυνοδευόμενουσ υπερςυνδζςμουσ. 14/16

θμείωμα Χριςθσ Ζργων Σρίτων Οι διαφάνειεσ βαςίηονται ςτο βιβλίο «C++ How to Program, 8th Edition, Harvey M. Deitel, Paul J. Deitel, Prentice Hall.» 15/16