Γομέρ Γεδομένων (Data Structures) Χαπμανδάπηρ Δςάγγελορ, Τμήμα Δθαπμοζμένων Μαθημαηικών, Δαπινό Δξάμηνο 2010/11. Διζαγωγή: Σύνηομη Δπιζκόπηζη ηηρ C++

Σχετικά έγγραφα
5 ΜΕΘΟΔΟΙ - ΠΑΡΑΜΕΤΡΟΙ

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

Προγραμματισμός Ι. Κλάσεις και Αντικείμενα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

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

Δείκτεσ Διαχείριςθ Μνιμθσ. Βαγγζλθσ Οικονόμου Διάλεξθ 8

Δομζσ Αφαιρετικότθτα ςτα Δεδομζνα

Προγραμματισμός Ι. Εισαγωγή στην C++ Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Η εντολή if-else. Η απλή μορφή της εντολής if είναι η ακόλουθη: if (συνθήκη) { Η γενική μορφή της εντολής ifelse. εντολή_1; εντολή_2;..

Στοιχειώδης προγραμματισμός σε C++

17TimeThis.h function returns reference pointer to same object { return *this; }

16. Πίνακεσ και Συναρτήςεισ

17. Πολυδιάςτατοι πίνακεσ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ

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

Κλάσεις και αντικείμενα #include <iostream.h<

Δομθμζνοσ Προγραμματιςμόσ. Βαγγζλθσ Οικονόμου Εργαςτιριο 9

Προγραμματισμός Υπολογιστών με C++

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

Αντικειμενοστραφείς Γλώσσες Προγραμματισμού C++ / ROOT

Απάντηση. // We write in a header file named my_header.h #ifndef my_header_h #define my_header_h #define divides(x,y) (((y)%(x)==0)?

Προγραμματισμός Υπολογιστών με C++

Ονοματεπώνυμο και ΑΜ: Είχα παραδώσει εργασίες τα προηγούμενα ακαδημαϊκά έτη: ΚΑΛΗ ΕΠΙΤΥΧΙΑ!

ΣΤΟΙΧΕΙΑ ΤΗΣ ΓΛΩΣΣΑΣ C++ Constructors, Destructors, Pointers IO Streams, File Streams

Προγραμματισμός Υπολογιστών με C++

ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΚΑΙ ΠΙΝΑΚΕΣ

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

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

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

Ειδικά Θζματα Βάςεων Δεδομζνων

ΠΡΟΓΡΑΜΜΑΣΙΜΌ ΤΠΟΛΟΓΙΣΏΝ. Κεφάλαιο 8 Η γλϊςςα Pascal

Εντολές εισόδου - εξόδου. Εισαγωγή στη C++

Υπερφόρτωση τελεστών (operator(

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

Προγραμματισμός Υπολογιστών με C++

Εισαγωγή σε αντικειμενοστραφή concepts. Και λίγη C#

Προγραμματισμός Υπολογιστών με C++

Συμβολοσειρές ΣΥΜΒΟΛΟΣΕΙΡΕΣ. Γεώργιος Παπαϊωάννου ( )

Προγραμματισμός Υπολογιστών με C++

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

8 ΥΜΒΟΛΟΕΙΡΕ - STRINGS

ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Α.Π.Θ. ΕΡΓΑΣΤΗΡΙΟ C++ ΕΞΑΜΗΝΟ Γ Ακαδηµαϊκό Έτος

ΕΡΓΑΣΗΡΙΑΚΗ ΑΚΗΗ 4.1

343 Ειςαγωγι ςτον Προγραμματιςμό

Εισαγωγή στην πληροφορική

Εισαγωγή στην πληροφορική

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011

Υπερφόρτωση τελεστών

Κλήση Συναρτήσεων ΚΛΗΣΗ ΣΥΝΑΡΤΗΣΕΩΝ. Γεώργιος Παπαϊωάννου ( )

Ονοματεπώνυμο και ΑΜ: Είχα παραδώσει εργασίες τα εξής ακαδημαϊκά έτη: Διάρκεια: 2,5 ώρες, κλειστά βιβλία και σημειώσεις ΚΑΛΗ ΕΠΙΤΥΧΙΑ!

Προγραμματισμός Υπολογιστών με C++ Φύλλο Διαγωνίσματος Ακαδημαϊκό εξάμηνο: Χειμερινό

υναµική διαχείριση µνήµης στη C++ Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: ΕΠΛ 132 Αρχές Προγραµµατισµού ΙΙ 2 είκτες

5. ΣΥΝΑΡΤΗΣΕΙΣ. (Πρόχειρο σχέδιο - Μαθήµατος 3) p Συναρτήσεις, που δεν επιστρέφουν κάποια τιµή

ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡ/ΣΜΟΣ C++

Προγραμματισμό για ΗΜΥ

Προγραμματισμός ΙΙ. Ενότητα 9: Πρότυπες συναρτήσεις και πρότυπες κλάσεις - Μέρος 1 Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ

343 Ειςαγωγι ςτον Προγραμματιςμό

ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ. Τι περιλαμβάνει μια μεταβλητή; ΔΕΙΚΤΕΣ. Διεύθυνση μεταβλητής. Δείκτης

Τίτλος Μαθήματος: Εισαγωγή στον Προγραμματισμό

Αρχεία & Ρεύματα ΑΡΧΕΙΑ & ΡΕΥΜΑΤΑ. Γεώργιος Παπαϊωάννου ( ) gepap@aueb.gr

Δομημένος Προγραμματισμός

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

Τίτλος Μαθήματος: Εισαγωγή στον Προγραμματισμό

Στοίβες - Ουρές. Στοίβα (stack) Γιάννης Θεοδωρίδης, Νίκος Πελέκης, Άγγελος Πικράκης Τµήµα Πληροφορικής

2 η Διάλεξη C++ Δρ. Χρήστος Δρόσος ΑΕΙ ΠΕΙΡΑΙΑ ΤΤ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ

Προγραμματισμός Υπολογιστών με C++

Δυναμική μνήμη με πίνακες και λίστες

Δομζσ Δεδομζνων Πίνακεσ

Συναρτήσεις (Functions) Εισαγωγή στη C++

343 Ειςαγωγι ςτον Προγραμματιςμό

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος

Συναρτήσεις και Πίνακες

Αντικειμενοστραφείς Γλώσσες Προγραμματισμού C++ / ROOT

2 using namespace s t d ; 4 { 12 int t= x ; 6 x=y ; 7 y=t ; 8 } 9 11 { 13 x= y ; 14 y=t ; 15 } {

Γ7.1 Επανάληψη ύλης Β Λυκείου. Γ Λυκείου Κατεύθυνσης

Περιεχόμενα. Πρόλογος... 21

343 Ειςαγωγι ςτον Προγραμματιςμό

Αναφορές, είκτες και Αλφαριθμητικά

Τίτλος Μαθήματος: Εισαγωγή στον Προγραμματισμό

ΚΑΤΑΣΚΕΥΑΣΤΕΣ ΑΝΤΙΓΡΑΦΗΣ

Ειςαγωγι ςτθν Επιςτιμθ Υπολογιςτϊν. Ειςαγωγι ςτθν Python

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

Μεταφραστής (Compiler)

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

Προγραμματισμός Υπολογιστών με C++

Προγραμματισμός Ι. Πίνακες, Δείκτες, Αναφορές και Δυναμική Μνήμη. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

343 Ειςαγωγι ςτον Προγραμματιςμό

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

Διάλεξη 6: Δείκτες και Πίνακες

HY150a Φροντιστήριο 3 24/11/2017

Προγραμματισμός Ι. Δυναμική Διαχείριση Μνήμης. Δημήτρης Μιχαήλ. Ακ. Έτος Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

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

ΔΕΙΚΤΕΣ ΚΑΙ ΔΙΕΥΘΥΝΣΕΙΣ

Aντικειμενοστραφής. Προγραμματισμός. Κληρονομικότητα

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

Προγραμματιστικές Τεχνικές

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

Προγραμματισμός ΙΙ. Ενότητα 10: Πρότυπες συναρτήσεις και πρότυπες κλάσεις - Μέρος 2 Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ

Ανάπτυξη και Σχεδίαση Λογισμικού

ΗΥ-150. Προγραμματισμός

ΗΥ-150. Προγραμματισμός

Transcript:

Γομέρ Γεδομένων (Data Structures) Χαπμανδάπηρ Δςάγγελορ, Τμήμα Δθαπμοζμένων Μαθημαηικών, Δαπινό Δξάμηνο 2010/11 Διζαγωγή: Σύνηομη Δπιζκόπηζη ηηρ C++ Βαζικά Θέμαηα. Σςναπηήζειρ και παπάμεηποι. Αναδπομικέρ ζςναπηήζειρ. Γςναμική παπασώπηζη μνήμηρ. Classes (Κλάζειρ).

C++ Βαςικά Θζματα Η C++ είναι μια επζκταςη τησ C. Όλεσ οι βαςικζσ εντολζσ τησ C ιςχφουν (είναι παρόμοιεσ) και ςτη C++. Δήλωςη μεταβλητών: int, float, double, Εντολζσ βρόχων: for, while, Εντολζσ ανάθεςησ: if, Δομές Δεδομένων 2010/11, Επιζκόπηζη ηης C++ 2

C++ Ειδικά Θζματα Παρακάτω θα παρουςιάςουμε ςυνοπτικά κάποια από τα χαρακτηριςτικά τησ C++ που αφοροφν: Συναρτήςεισ και παραμζτρουσ. Αναδρομικζσ ςυναρτήςεισ. Πρότυπεσ ςυναρτήςεισ. Δυναμική παραχώρηςη μνήμησ. Classes (Κλάςεισ). Δομές Δεδομένων 2010/11, Επιζκόπηζη ηης C++ 3

Συναρτήςεισ και παράμετροι ςτη C++ Πρότυπεσ ςυναρτήςεισ: επιτρζπουν τη δημιουργία γενικοφ κώδικα για κάθε τύπο δεδομζνων. #include<iostream.h> template <class T> T test1(t a, T b, T c, T d) { return a*b + c*d + (a+b-c-d)/10; void main(void) { cout << test1(1,2,3,4) << endl; Οι μεταβλητζσ a, b, c, d μπορεί να είναι: int, long, double, Δομές Δεδομένων 2010/11, Επιζκόπηζη ηης C++ 4

Παράμετροι τιμήσ: οι τιμζσ των πραγματικών παραμζτρων αντιγράφονται ςτισ τιμζσ των τυπικών παραμζτρων. Με το τερματιςμό καλείται η μζθοδο καταςτροφήσ για τον τφπο Τ. Παράμετροι αναφοράσ (pointers): τα ονόματα των πραγματικών παραμζτρων χρηςιμοποιοφνται ςτη θζςη των τυπικών παραμζτρων. #include<iostream.h> Συναρτήςεισ και παράμετροι ςτη C++ template <class T> T test1(t& a, T& b, T& c, T& d) { return a*b + c*d + (a+b-c-d)/10; void main(void) { cout << test1(x,y,z,w) << endl; Δομές Δεδομένων 2010/11, Επιζκόπηζη ηης C++ 5

Υπολογιςμόσ αναδρομικών ςυναρτήςεων: Π.χ. υπολογιςμόσ του Ν παραγοντικοφ ι του ακροίςματοσ Ν αρικμών, από διάνυςμα b[0:n-1] #include<iostream.h> template<class T> T Sum(T b[], int n) {// Return sum of numbers b[0:n -1]. T tsum = 0; for (int i = 0; i < n; i++) tsum += b[i]; return tsum; Αναδρομικζσ Συναρτήςεισ ςτη C++ Παράδειγμα: Υπολογιςμόσ ακροίςματοσ χωρίς τθ χριςθ αναδρομικών ςυναρτιςεων. n 1 i 0 S b i void main(void) { float b[10] = {2, 4, 6, 8, 10, 12, 14, 16, 18, 20; cout << Sum(b,8) << endl; Δομές Δεδομένων 2010/11, Επιζκόπηζη ηης C++ 6

Αναδρομικζσ Συναρτήςεισ ςτη C++ Παράδειγμα: Υπολογιςμόσ ακροίςματοσ με τθ χριςθ αναδρομικών ςυναρτιςεων. #include <iostream.h> n 1 i 0 S b i template<class T> T Rsum(T b[], int n) {// // recursive sum of n numbers, b[0:n - 1]. if (n > 0) return Rsum(b, n-1) + b[n-1]; return 0; void main(void) { int b[10] = {2, 4, 6, 8, 10, 12, 14, 16, 18, 20; cout << Rsum(b,8) << endl; Δομές Δεδομένων 2010/11, Επιζκόπηζη ηης C++ 7

Δυναμική παραχώρηςη μνήμησ ςτη C++ Στατική χρήςη μνήμησ: θ μνιμθ που χρθςιμοποιεί κάκε μεταβλθτι τίκεται εξαρχισ ςτθ διλωςθ τθσ μεταβλθτισ και είναι σταθερή κατά τθ διάρκεια του προγράμματοσ. Δυναμική χρήςη μνήμησ: αρχικά γίνεται μόνο θ διλωςθ τθσ μεταβλθτισ. Η μνιμθ που καταλαμβάνει ορίηεται κατά τθ διάρκεια τθσ εκτζλεςθσ του προγράμματοσ. Δομές Δεδομένων 2010/11, Επιζκόπηζη ηης C++ 8

Δυναμική παραχώρηςη μνήμησ ςτη C++ Οι τελεςτζσ malloc, calloc τησ C ιςχφουν κανονικά και ςτη C++ Τελεςτήσ new: καινοφριοσ τελεςτισ τθσ C++ για παραχώρθςθ μνιμθσ κατά το χρόνο εκτζλεςθσ. Παράδειγμα: διάνυςμα κινητήσ υποδιαςτολήσ μεγζθουσ n float *x = new float [n]; Δομές Δεδομένων 2010/11, Επιζκόπηζη ηης C++ 9

Παράδειγμα: οριςμόσ 2D πίνακα με χριςθ του τελεςτι new. #include <iostream.h> Δυναμική παραχώρηςη μνήμησ ςτη C++ template <class T> void Make2DArray(T ** &z, int rows, int cols) {// Create a two-dimensional array. // create pointers for the rows z = new T * [rows]; // get memory for each row for (int i = 0; i < rows; i++) z[i] = new T [cols]; void main(void) { int **b; Make2DArray(b,2,2); b[0][0] = 1; b[0][1] = 2; b[1][0] = 2; b[1][1] = 1; cout << b[0][0] << ' ' << b[0][1] << endl; cout << b[0][0] << ' ' << b[1][1] << endl; Δομές Δεδομένων 2010/11, Επιζκόπηζη ηης C++ 10

Classes (Κλάςεισ) ςτη C++ Δομή class: επιτρζπει τθ χριςθ επιπρόςκετων τφπων δεδομζνων (επζκταςθ τθσ δομισ struct). Αποτελείται από: ςτακερζσ, μεταβλθτζσ ςυναρτιςεισ (ι μεκόδουσ) Οι ςυναρτήςεισ (ή μζθοδοι) μποροφν να υλοποιοφνται είτε μζςα ςτη κλάςη είτε ζξω από αυτή με τον τελεςτή πεδίο ανάλυςησ :: Δομές Δεδομένων 2010/11, Επιζκόπηζη ηης C++ 11

Classes (Κλάςεισ) ςτη C++ Ορίηουμε αντικείμενο nobject μιασ κλάςθσ nameclass με τθν εντολι: nameclass nobject Μποροφμε να καλζςουμε τισ μεταβλθτζσ ι ςυναρτιςεισ (μεκόδουσ) μιασ δομισ class χρθςιμοποιώντασ: nobject.nfunction(a,b,c ) nobject: όνομα αντικειμζνου μιασ κλάςθσ nfunction: όνομα ςυνάρτθςθσ μιασ κλάςθσ a, b, c, : μεταβλθτζσ τθσ ςυνάρτθςθσ nfunction Δομές Δεδομένων 2010/11, Επιζκόπηζη ηης C++ 12

Classes (Κλάςεισ) ςτη C++ Τα μζλη μιασ δομήσ class μπορεί να είναι: public: Συναρτιςεισ (ι μζκοδοι) που εφαρμόηονται ςε αντικείμενα τφπου τθσ ςυγκεκριμζνθσ κλάςθσ. Είναι ορατζσ ςτουσ χριςτεσ τθσ κλάςθσ. private: Συναρτιςεισ και μζλθ (όπωσ απλζσ μεταβλθτζσ, πίνακεσ κλπ.) που μποροφν να πάρουν τιμζσ. Δεν είναι ορατζσ ςτουσ χριςτεσ τθσ κλάςθσ, δθλαδι ΔΕΝ μποροφμε να τισ καλζςουμε από το κυρίωσ πρόγραμμα. Είναι όμωσ ορατζσ ςτισ υπόλοιπεσ ςυναρτιςεισ τθσ κλάςθσ. Μποροφμε να αλλάξουμε το τμιμα αυτό χωρίσ να αλλάξουν οι εφαρμογζσ. friend: μποροφμε να δώςουμε ςε άλλεσ κλάςεισ ι ςυναρτιςεισ δικαίωμα προςπζλαςθσ προσ τα private μζλθ. Δομές Δεδομένων 2010/11, Επιζκόπηζη ηης C++ 13

Classes (Κλάςεισ) ςτη C++ Παράδειγμα: Η κλάςη currency. Ζςτω ότι κζλουμε να ορίςουμε/χρθςιμοποιιςουμε αντικείμενα τφπου νομίςματοσ (currency) τθσ μορφισ a.b, π.χ. 1.40. Επιλζγουμε να αναπαραςτιςουμε αντικείμενα τζτοιου τφπου με 3 μεταβλθτζσ: (1) Το πρόςθμο (plus ι minus), sgn: sign (plus, minus) (2) Τον ακζραιο αρικμό Ευρώ, euro: unsigned long (3) Τον ακζραιο αρικμό των cents, cents: unsinged int Η μεταβλθτι sgn μπορεί να οριςτεί με τθν εντολι enum: enum sign(plus, minus); Δομές Δεδομένων 2010/11, Επιζκόπηζη ηης C++ 14

Classes (Κλάςεισ) ςτη C++ - Παράδειγμα: Η κλάςη currency. enum sign {plus, minus; class Currency { public: // constructor Currency(sign s = plus, unsigned long e = 0, unsigned int c = 0); // destructor ~Currency() { bool Set(sign s, unsigned long e, unsigned int c); bool Set(float a); sign Sign() const {return sgn; unsigned long Euro() const {return euro; unsigned int Cents() const {return cents; Currency Add(const Currency& x) const; void Output() const; private: sign sgn; unsigned long euro; unsigned int cents; ; Δομές Δεδομένων 2010/11, Επιζκόπηζη ηης C++ 15

Classes (Κλάςεισ) ςτη C++ - Παράδειγμα: Η κλάςη currency. Constructor: Συνάρτθςθ καταςκευισ τθσ κλάςθσ. Προςοχι: ζχει όνομα ίδιο με το όνομα τθσ κλάςθσ. Currency::Currency(sign s, unsigned long e, unsigned int c) {// Create a Currency object. if (c > 99) {// too many cents cerr << "Cents should be < 100" << endl; exit(1); sgn = s; euro = e; cents = c; enum sign {plus, minus; Destructor: Συνάρτθςθ καταςτροφισ τθσ κλάςθσ. Καλείται όταν ζνα αντικείμενο τφπου currency βγει εκτόσ πεδίου. {=κενι ςυνάρτθςθ. Δομές Δεδομένων 2010/11, Επιζκόπηζη ηης C++ 16

Classes (Κλάςεισ) ςτη C++ - Παράδειγμα: Η κλάςη currency. Συνάρτηςη Set: ανάθεςη τιμών ςτισ μεταβλητζσ τησ κλάςησ. bool Currency:: Set(sign s, unsigned long d,unsigned int c) {// Reset value. if (c > 99) return false; sgn = s; euro = e; cents = c; return true; bool Currency:: Set(float a) {// Reset value. if (a < 0) {sgn = minus; a = -a; else sgn = plus; euro = a; // extract integer part // get two decimal digits cents = (a + 0.001 - euro) * 100; return true; Δομές Δεδομένων 2010/11, Επιζκόπηζη ηης C++ 17

Currency Currency:: Add(const Currency& x) const {// Add x and *this. long a1, a2, a3; Currency ans; // convert invoking object to signed integers a1 = euro* 100 + cents; if (sgn == minus) a1 = -a1; // convert x to signed integer a2 = x.euro * 100 + x.cents; if (x.sgn == minus) a2 = -a2; a3 = a1 + a2; Classes (Κλάςεισ) ςτη C++ - Παράδειγμα: Η κλάςη currency. // convert to currency representation if (a3 < 0) {ans.sgn = minus; a3 = -a3; else ans.sgn = plus; ans.euro = a3 / 100; ans.cents = a3 - ans.euro * 100; Overloading Operators (Υπερφόρτωςη Τελεςτών) Συνάρτηςη Add: «πρόςθεςη» αντικειμζνων τφπου currency. return ans; Δομές Δεδομένων 2010/11, Επιζκόπηζη ηης C++ 18

Classes (Κλάςεισ) ςτη C++ - Παράδειγμα: Η κλάςη currency. Παράδειγμα: πρόγραμμα που χρηςιμοποιεί την κλάςη currency #include <iostream> using namespace std; #include "curr1.h //include file with all code relevant to class currency // test currency class void main(void) { Currency g, h(plus, 3, 50), i, j; g.set(minus, 2, 25); i.set(-6.45); j = h.add(g); j.output(); cout << endl; j = i.add(g).add(h); j.output(); cout << endl; Δομές Δεδομένων 2010/11, Επιζκόπηζη ηης C++ 19

Βιβλιογπαθία Thinking in C++, B. Eckel, Prentice Hall, 2000. The compete book of C++! www.cplusplus.com/doc/tutorial Effective C++, S. Meyers, 3 rd Ed. Addison-Wesley, 2005. Δομές Δεδομένων, Αλγόριθμοι και Εθαρμογές ζηη C++, S. Sahni, Εκδόζεις Τζιόλα, 2004. Δομές Δεδομένων 2010/11, Κεθάλαιο 1: Ειζαγωγή 20