Πολυμορφισμός. Σήμερα! Virtual Κληρονομικότητα Mixin classes Αφηρημένοι τύποι δεδομένων Pure Virtual συναρτήσεις

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Πολυμορφισμός. Σήμερα! Virtual Κληρονομικότητα Mixin classes Αφηρημένοι τύποι δεδομένων Pure Virtual συναρτήσεις"

Transcript

1 Πολυμορφισμός Σήμερα! Virtual Κληρονομικότητα Mixin classes Αφηρημένοι τύποι δεδομένων Pure Virtual συναρτήσεις 2 1

2 Virtual Κληρονομικότητα Η χρήση μιας virtual κλάσης βάσης μας επιτρέπει τη χρήση κοινών συναρτήσεων ορισμένων ως virtual στη βάση, χωρίς να δημιουργεί πολλαπλά αντίγραφα. Κανονικά, ο δομητής μιας κλάσης, αρχικοποιεί μόνο τις μεταβλητές της κλάσης του και τη βάση του. Οι virtual κλάσεις βάσης αποτελούν εξαίρεση καθώς αρχικοποιούνται και από την τελευταία στη σειρά παραγόμενη κλάση. 3 Virtual Κληρονομικότητα/1 #include <iostream.h> typedef int HANDS; enum COLOR RdG Red, Green, Blue, Yll Yellow, White, Black, Brown ; enum BOOL FALSE, TRUE ; class Animal Animal(int); virtual ~Animal() cout << ʺAnimal destructor...\nʺ; virtual int GetAge() const return itsage; virtual void SetAge(int age) itsage = age; int itsage; ; Animal::Animal(int age): itsage(age) cout << ʺAnimal constructor...\nʺ; 4 2

3 Virtual Κληρονομικότητα/2 class Horse : virtual public Animal Horse(COLOR color, HANDS hihti height, int age); virtual ~Horse() cout << ʺHorse destructor...\nʺ; virtual void Whinny()const cout << ʺWhinny!... ʺ; virtual HANDS GetHeight() const return itsheight; virtual COLOR GetColor() const return itscolor; protected: HANDS itsheight; COLOR itscolor; ; Horse::Horse(COLOR color, HANDS height, int age): Animal(age), itscolor(color),itsheight(height) cout << ʺHorse constructor...\nʺ; 5 Virtual Κληρονομικότητα/3 class Bird : virtual public Animal Bird(COLOR color, BOOL migrates, int age); virtual ~Bird() cout << ʺBird destructor...\nʺ; virtual void Chirp()const cout << ʺChirp... ʺ; virtual void Fly()const cout << ʺI can fly! I can fly! I can fly! ʺ; virtual COLOR GetColor()const return itscolor; virtual BOOL GetMigration() const return itsmigration; protected: COLOR itscolor; BOOL itsmigration; ; Bird::Bird(COLOR color, BOOL migrates, int age): Animal(age), itscolor(color), itsmigration(migrates) cout << ʺBird constructor...\nʺ; 6 3

4 Virtual Κληρονομικότητα/4 class Pegasus : public Horse, public Bird void Chirp()const Whinny(); Pegasus(COLOR, HANDS, BOOL, long, int); ~Pegasus() cout << ʺPegasus destructor...\nʺ; virtual long GetNumberBelievers() const return itsnumberbelievers; virtual COLOR GetColor()const return Horse::itsColor; long itsnumberbelievers; ; Pegasus::Pegasus(COLOR acolor,hands height,bool migrates, long NumBelieve, int age): Horse(aColor, height,age), Bird(aColor, migrates,age), Animal(age*2), itsnumberbelievers(numbelieve) cout << ʺPegasus constructor...\nʺ; 7 Virtual Κληρονομικότητα/5 int main() Pegasus *ppeg = new Pegasus(Red, 5, TRUE, 10, 2); int age = ppeg >GetAge(); cout << ʺThis pegasus is ʺ << age << ʺ years old.\nʺ; delete ppeg; return 0; Output: Animal constructor... Horse constructor... ctor Bird constructor... Pegasus constructor... This pegasus is 4 years old. Pegasus destructor... Bird destructor... Horse destructor... Animal destructor

5 Δήλωση κλάσεων για virtual κληρονομικότητα Για να διασφαλίσουμε ότι οι παραγόμενες κλάσεις διατηρούν ένα μόνο αντίγραφο κοινών συναρτήσεων των κλάσεων βάσης, δηλώνουμε τις κλάσεις βάσης ως παραγόμενες από μια virtual βάση. 9 Πολυμορφισμός Χρησιμοποιήστε Πολυμορφισμό όταν μία κλάση χρειάζεται συναρτήσεις και στοιχεία από περισσότερες της μιας κλάσης. Υπάρχουν compilers που δεν υποστηρίζουν τον πολυμορφισμό. Μη χρησιμοποιείται πολυμορφισμό όταν δε χρειάζεται ή όταν σας καλύπτει η απλή κληρονομικότητα γιατί αυξάνει την πολυπλοκότητα του προγράμματος Αρχικοποιήστε τη virtual κλάση βάσης από την τελευταία στην ιεραρχία παραγόμενη κλάση. 10 5

6 Mixins classes Η Mixin class προσθέτει λειτουργικότητα ενώ δεν προσθέτει πολλά δεδομένα. Οι mixin classes προστίθενται σε μία παραγόμενη κλάση με public κληρονομικότητα. Αποτελούν συμβιβασμό μεταξύ απλής και πολλαπλής κληρονομικότητας. Η διαφορά τους από τις άλλες κλάσεις είναι ότι περιέχουν ελάχιστα ή καθόλου δεδομένα. 11 Αφηρημένοι τύποι δεδομένων/1 #include <iostream.h> enum BOOL FALSE, TRUE ; class Shape Shape() ~Shape() virtual long GetArea() return 1; // error virtual long GetPerim() return 1; virtual void Draw() ; 12 6

7 Αφηρημένοι τύποι δεδομένων/2 class Circle : public Shape Circle(int radius):itsradius(radius) ~Circle() long GetArea() return 3 * itsradius * itsradius; long GetPerim() return 9 * itsradius; void Draw(); int itsradius; int itscircumference; ; void Circle::Draw() cout << ʺCircle drawing routine here!\nʺ; 13 Αφηρημένοι τύποι δεδομένων/3 class Rectangle : public Shape Rectangle(int tlen, int width): itslength(len), itswidth(width) ~Rectangle() virtual long GetArea() return itslength * itswidth; virtual long GetPerim() return 2*itsLength + 2*itsWidth; virtual int GetLength() return itslength; virtual int GetWidth() return itswidth; virtual void Draw(); int itswidth; int itslength; ; void Rectangle::Draw() for (int i = 0; i<itslength; i++) for (int j = 0; j<itswidth; j++) cout << ʺx ʺ; cout << ʺ\nʺ; 14 7

8 Αφηρημένοι τύποι δεδομένων/4 class Square : public Rectangle Square(int tl len); Square(int len, int width); ~Square() long GetPerim() return 4 * GetLength(); ; Square::Square(int len): Rectangle(len,len) Square::Square(int len, int width): Rectangle(len,width) if (GetLength()!= GetWidth()) cout << ʺError, not a square... a Rectangle??\nʺ; 15 Αφηρημένοι τύποι δεδομένων/5 int main() int choice; BOOL fquit = FALSE; Shape * sp; while (1) cout << ʺ(1)Circle (2)Rectangle (3)Square (0)Quit: ʺ; cin >> choice; switch (choice) case 1: sp = new Circle(5); break; case 2: sp = new Rectangle(4,6); break; case 3: sp = new Square(5); break; default: fquit = TRUE; break; if (fquit) break; sp >Draw(); cout << ʺ\nʺ; return 0; 16 8

9 Αφηρημένοι τύποι δεδομένων/ έξοδος (1)Circle (2)Rectangle (3)Square (0)Quit: 2 x x x x (1)Circle (2)Rectangle (3)Square (0)Quit:3 (1)Circle (2)Rectangle (3)Square (0)Quit:0 17 Pure Virtual συναρτήσεις Μια virtual συνάρτηση γίνεται pure virtual όταν αρχικοποιείται στο 0. virtual void Draw() = 0; Κάθε κλάση με μία ή περισσότερες Pure Virtual συναρτήσεις αποτελεί Αφηρημένη κλάση Δεν μπορούμε να δημιουργήσουμε αντικείμενο αφηρημένης κλάσης Είναι υποχρεωτικό να ορίσουμε τις Pure Virtual συναρτήσεις σε κάθε παραγόμενη κλάση 18 9

10 Pure Virtual συναρτήσεις class Shape Shape() ~Shape() virtual long GetArea() = 0; virtual long GetPerim()= 0; virtual void Draw() = 0; ; (1)Circle (2)Rectangle (3)Square (0)Quit: 2 x x x x (1)Circle (2)Rectangle (3)Square (0)Quit: 3 19 (1)Circle (2)Rectangle (3)Square (0)Quit: 0 Pure Virtual συναρτήσεις/1 #include <iostream.h> enum BOOL FALSE, TRUE ; class Shape Shape() ~Shape() virtual long GetArea() = 0; virtual long GetPerim()= 0; virtual void Draw() = 0; ; void Shape::Draw() cout << ʺAbstract drawing mechanism!\nʺ; 20 10

11 Pure Virtual συναρτήσεις/2 class Circle : public Shape Circle(int radius):itsradius(radius) it ) ~Circle() long GetArea() return 3 * itsradius * itsradius; long GetPerim() return 9 * itsradius; void Draw(); int itsradius; int itscircumference; ; void Circle::Draw() cout << ʺCircle drawing routine here!\nʺ; Shape::Draw(); 21 Pure Virtual συναρτήσεις/3 class Rectangle : public Shape Rectangle(int tlen, int width): itslength(len), itswidth(width) ~Rectangle() long GetArea() return itslength * itswidth; long GetPerim() return 2*itsLength + 2*itsWidth; virtual int GetLength() return itslength; virtual int GetWidth() return itswidth; void Draw(); int itswidth; int itslength; ; void Rectangle::Draw() for (int i = 0; i<itslength; i++) for (int j = 0; j<itswidth; j++) cout << ʺx ʺ; cout << ʺ\nʺ; Shape::Draw(); 22 11

12 Pure Virtual συναρτήσεις/4 class Square : public Rectangle Square(int tl len); Square(int len, int width); ~Square() long GetPerim() return 4 * GetLength(); ; Square::Square(int len): Rectangle(len,len) Square::Square(int len, int width): Rectangle(len,width) if (GetLength()!= GetWidth()) cout << ʺError, not a square... a Rectangle??\nʺ; 23 Pure Virtual συναρτήσεις/5 int main() int choice; BOOL fquit = FALSE; Shape * sp; while (1) cout << ʺ(1)Circle (2)Rectangle (3)Square (0)Quit: ʺ; cin >> choice; switch (choice) case 1: sp = new Circle(5); break; case 2: sp = new Rectangle(4,6); break; case 3: sp = new Square (5); break; default: fquit = TRUE; break; if (fquit) break; sp >Draw(); cout << ʺ\nʺ; return 0; 24 12

13 Pure Virtual συναρτήσεις/έξοδος (1)Circle (2)Rectangle (3)Square (0)Quit: 2 x x x x Abstract drawing mechanism! (1)Circle (2)Rectangle (3)Square (0)Quit: 3 Abstract drawing mechanism! (1)Circle (2)Rectangle (3)Square (0)Quit:

Πολυμορφισμός. Σήμερα!

Πολυμορφισμός. Σήμερα! Πολυμορφισμός Σήμερα! Ανάγκη για Πολυμορφισμό Πολυμορφισμός Constructors σε πολύμορφα αντικείμενα Διπλή συνάρτηση Κοινή κλάση βάσης 2 1 Ανάγκη για Πολυμορφισμό Ας υποθέσουμε ότι με τη βοήθεια της Ιεραρχίας

Διαβάστε περισσότερα

Ειδικά Θέματα Ι. Σήμερα!

Ειδικά Θέματα Ι. Σήμερα! Ειδικά Θέματα Ι Σήμερα! Static Member Πρόσβαση χωρίς αντικείμενο private static member Static Member Functions Πρόσβαση συνάρτησης χωρίς αντικείμενο Δείκτες σε συνάρτηση η Πίνακες δεικτών σε συνάρτηση

Διαβάστε περισσότερα

Συναρτήσεις & Κλάσεις

Συναρτήσεις & Κλάσεις Συναρτήσεις & Κλάσεις Overloading class member συναρτήσεις/1 #include typedef unsigned short int USHORT; enum BOOL { FALSE, TRUE}; class Rectangle { public: Rectangle(USHORT width, USHORT

Διαβάστε περισσότερα

Κληρονομικότητα. Σήμερα!

Κληρονομικότητα. Σήμερα! Κληρονομικότητα Σήμερα! Overriding Overloading Vs Overriding Απόκρυψη συναρτήσεων Κλήση overridden συνάρτησης Virtual Συναρτήσεις Abstract Classes Κανόνες πρόσβασης Κληρονομικότητας 2 1 Υπερίσχυση Συναρτήσεων

Διαβάστε περισσότερα

Κληρονομικότητα. Σήμερα! Κλάση Βάσης Παράγωγη κλάση Απλή κληρονομικότητα Protected δεδομένα Constructors & Destructors overloading

Κληρονομικότητα. Σήμερα! Κλάση Βάσης Παράγωγη κλάση Απλή κληρονομικότητα Protected δεδομένα Constructors & Destructors overloading Κληρονομικότητα Σήμερα! Κλάση Βάσης Παράγωγη κλάση Απλή κληρονομικότητα Protected δεδομένα Constructors & Destructors overloading 2 1 Κλάση Βάση/Παράγωγη Τα διάφορα αντικείμενα μπορούν να έχουν μεταξύ

Διαβάστε περισσότερα

Αναφορές (References)

Αναφορές (References) Αναφορές (References) Σήμερα! Αναφορές (references) Που ορίζουμε αναφορά Αναφορές σε αντικείμενα Πέρασμα με αναφορά Πέρασμα πολλαπλών τιμών 2 1 Αναφορές (references) Οι αναφορές έχουν τη δύναμη των δεικτών

Διαβάστε περισσότερα

Συναρτήσεις. Σημερινό μάθημα

Συναρτήσεις. Σημερινό μάθημα Συναρτήσεις Σημερινό μάθημα C++ Συναρτήσεις Δήλωση συνάρτησης Σύνταξη συνάρτησης Πρότυπο συνάρτησης & συνάρτηση Αλληλο καλούμενες συναρτήσεις συναρτήσεις μαθηματικών Παράμετροι συναρτήσεων Τοπικές μεταβλητές

Διαβάστε περισσότερα

Pointers. Σημερινό Μάθημα! Χρήση pointer Τελεστής * Τελεστής & Γενικοί δείκτες Ανάκληση Δέσμευση μνήμης new / delete Pointer σε αντικείμενο 2

Pointers. Σημερινό Μάθημα! Χρήση pointer Τελεστής * Τελεστής & Γενικοί δείκτες Ανάκληση Δέσμευση μνήμης new / delete Pointer σε αντικείμενο 2 Pointers 1 Σημερινό Μάθημα! Χρήση pointer Τελεστής * Τελεστής & Γενικοί δείκτες Ανάκληση Δέσμευση μνήμης new / delete Pointer σε αντικείμενο 2 1 Μνήμη μεταβλητών Κάθε μεταβλητή έχει διεύθυνση Δεν χρειάζεται

Διαβάστε περισσότερα

Classes. Σημερινό Μάθημα. Constructor και destructor Συναρτήσεις μέλη const Inline συναρτήσεις Δηλώσεις κλάσεων Σύνθετες κλάσεις

Classes. Σημερινό Μάθημα. Constructor και destructor Συναρτήσεις μέλη const Inline συναρτήσεις Δηλώσεις κλάσεων Σύνθετες κλάσεις Classes Σημερινό Μάθημα Constructor και destructor Συναρτήσεις μέλη const Inline συναρτήσεις Δηλώσεις κλάσεων Σύνθετες κλάσεις 2 1 Constructor και destructor Αν δεν δηλώσουμε constructor ή/και destructor

Διαβάστε περισσότερα

Συναρτήσεις ΙΙ. Σημερινό μάθημα

Συναρτήσεις ΙΙ. Σημερινό μάθημα Συναρτήσεις ΙΙ 1 Σημερινό μάθημα Εμβέλεια Εμφωλίαση Τύπος αποθήκευσης Συναρτήσεις ως παράμετροι Πέρασμα με τιμή Πολλαπλά return Προκαθορισμένοι ρ Παράμετροι ρ Υπερφόρτωση συναρτήσεων Inline συναρτήσεις

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ηµιουργία και χειρισµός LIFO λιστών µεταβλητού µήκους µε στοιχεία ακεραίους αριθµούς. Γενίκευση για χειρισµό λιστών πραγµατικών

Διαβάστε περισσότερα

Ειδικά Θέματα. Σήμερα. Ισότητα Αντικειμένων Friend classes Operator overloading

Ειδικά Θέματα. Σήμερα. Ισότητα Αντικειμένων Friend classes Operator overloading Ειδικά Θέματα Σήμερα Ισότητα Αντικειμένων Friend classes Operator overloading 2 1 Ισότητα Αντικειμένων Πότε δύο αντικείμενα είναι ίσα; Όταν έχουν τις ίδιες τιμές int m, n; if (m == n)... Όταν δείχνουν

Διαβάστε περισσότερα

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

Αντικειμενοστραφής. Προγραμματισμού Αντικειμενοστραφής προγραμματισμός Σημερινό μάθημα Μειονεκτήματα Δομημένου Προγραμματισμού Αντικειμενοστραφής προγραμματισμός Ορισμοί Κλάσεις Αντικείμεναμ Χαρακτηριστικά ΑΠ C++ Class 1 Δομημένος Προγραμματισμός

Διαβάστε περισσότερα

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

Οντοκεντρικός Προγραμματισμός Οντοκεντρικός Προγραμματισμός Ενότητα 5: H ΓΛΩΣΣΑ C++ Δομές Ελέγχου ΔΙΔΑΣΚΟΝΤΕΣ: Ιωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής Δομές Ελέγχου Εισαγωγή Πριν

Διαβάστε περισσότερα

public: Horse(){} Horse(double h,string c,string n,int a):animal(n,a){ itsheight=h; itscolor=c; } void fonialogou(){ cout<<"xlimintrisma"<<endl;} };

public: Horse(){} Horse(double h,string c,string n,int a):animal(n,a){ itsheight=h; itscolor=c; } void fonialogou(){ cout<<xlimintrisma<<endl;} }; //VK Από Βάτσου Χριστίνα //VK για το σχολιό σου στο τέλος...όπως σας είπα και στο εργαστήριο //VK Η διαγραφή της µνήµης δεν διαγράφει τον δείκτη που δείχνει σε αυτή //VK ούτε αλλάζει την τιµή της διεύθυνσης

Διαβάστε περισσότερα

Η λέξη κλειδί this. Γαβαλάς Δαμιανός dgavalas@aegean.gr

Η λέξη κλειδί this. Γαβαλάς Δαμιανός dgavalas@aegean.gr Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Διάλεξη #6 η : Η λέξη κλειδί this, υπερφόρτωση μεθόδων, κληρονομικότητα, πολυμορφισμός, υπερκάλυψη, επίπεδα προσπέλασης Γαβαλάς Δαμιανός dgavalas@aegean.gr

Διαβάστε περισσότερα

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

Aντικειμενοστραφής. Προγραμματισμός. Κληρονομικότητα Κληρονομικότητα Η κληρονομικότητα είναι ένα από τα πιο ισχυρά χαρακτηριστικά του αντικειμενοστραφούς προγραμματισμού. Είναι ο μηχανισμός που επιτρέπει σε μία κλάση να κληρονομεί όλη τη συμπεριφορά και

Διαβάστε περισσότερα

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

Δυναμική μνήμη με πίνακες και λίστες Δυναμική μνήμη με πίνακες και λίστες Ατζέντα ονομάτων Οι πίνακες βοηθάνε στην εύκολη προσπέλαση, στην σειριοποίηση των δεδομένων για αποθήκευση ή μετάδοση. Απαιτούν ωστόσο είτε προκαταβολική δέσμευση μνήμης

Διαβάστε περισσότερα

Αναγνώριση Προτύπων. Σήμερα! Λόγος Πιθανοφάνειας Πιθανότητα Λάθους Κόστος Ρίσκο Bayes Ελάχιστη πιθανότητα λάθους για πολλές κλάσεις

Αναγνώριση Προτύπων. Σήμερα! Λόγος Πιθανοφάνειας Πιθανότητα Λάθους Κόστος Ρίσκο Bayes Ελάχιστη πιθανότητα λάθους για πολλές κλάσεις Αναγνώριση Προτύπων Σήμερα! Λόγος Πιθανοφάνειας Πιθανότητα Λάθους Πιθανότητα Λάθους Κόστος Ρίσκο Bayes Ελάχιστη πιθανότητα λάθους για πολλές κλάσεις 1 Λόγος Πιθανοφάνειας Ας υποθέσουμε ότι θέλουμε να ταξινομήσουμε

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Απάντηση. // 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)?

Απάντηση. // 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)? Θέμα 1. Γράψτε τον κώδικα ενός header file που να περιέχει: 1) Ένα macro με όνομα divides που, αν του μεταβιβάσουμε δύο ακέραιους αριθμούς επιστρέφει 1 αν ο πρώτος αριθμός διαιρεί τον δεύτερο, αλλιώς,

Διαβάστε περισσότερα

Struct : public by default but Class: private by default. ClassPoint { Struct Point { Public: Double x; Double x; Double y; Double y;

Struct : public by default but Class: private by default. ClassPoint { Struct Point { Public: Double x; Double x; Double y; Double y; Classes: In C++, classes are very much like structs, except that classes provide much more power and flexibility. In fact, the following struct and class are effectively identical. Struct : public by default

Διαβάστε περισσότερα

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

Προγραμματισμός Ι. Κλάσεις και Αντικείμενα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Κλάσεις και Αντικείμενα Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Κλάσεις Η γενική μορφή μιας κλάσης είναι η εξής: class class-name { private data and

Διαβάστε περισσότερα

Εισαγωγή στον Αντικειμενοστρέφή Προγραμματισμό Διάλεξη #13

Εισαγωγή στον Αντικειμενοστρέφή Προγραμματισμό Διάλεξη #13 Wrapper Classes, Abstract Classes and Interfaces Διάλεξη #13: Μεταβλητές/μέθοδοι κλάσης, αφηρημένες κλάσεις και διαπροσωπείες Μεταβλητές /πεδία κλάσης [class variables] Τα αντικείμενα ανήκουν σε κλάσεις

Διαβάστε περισσότερα

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

Ηλεκτρονικοί Υπολογιστές ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ενότητα 3: Μεταβλητές στη C++ Ζαχαρούλα Ανδρεοπούλου Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Εαρινό Εξάμηνο

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Εαρινό Εξάμηνο ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ231: Δομές Δεδομένων και Αλγόριθμοι Εαρινό Εξάμηνο 2017-2018 Φροντιστήριο 3 - Λύσεις 1. Εστω ο πίνακας Α = [12, 23, 1, 5, 7, 19, 2, 14]. i. Να δώσετε την κατάσταση

Διαβάστε περισσότερα

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

Οντοκεντρικός Προγραμματισμός Οντοκεντρικός Προγραμματισμός Ενότητα 6: C++ ΚΛΑΣΕΙΣ, ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ, ΠΟΛΥΜΟΡΦΙΣΜΟΣ Πολυμορφισμός ΔΙΔΑΣΚΟΝΤΕΣ:Ιωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής

Διαβάστε περισσότερα

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

Προγραμματισμός Ι. Εισαγωγή στην C++ Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Εισαγωγή στην C++ Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Η γλώσσα C++ Σχεδιάστηκε το 1979 από τον Bjarne Stroustrup στα Bell Laboratories Βασίζεται

Διαβάστε περισσότερα

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 9 : ΑΦΗΡΗΜΕΝΕΣ ΚΛΑΣΕΙΣ

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 9 : ΑΦΗΡΗΜΕΝΕΣ ΚΛΑΣΕΙΣ Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 9 : ΑΦΗΡΗΜΕΝΕΣ ΚΛΑΣΕΙΣ INTERFACES ΕΣΩΤΕΡΙΚΕΣ ΚΛΑΣΕΙΣ (INNER CLASSES) Αφηρημένες Κλάσεις (Abstract Classes) (1/6) Οι αφηρημένες κλάσεις χρησιμοποιούνται για την

Διαβάστε περισσότερα

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

Αντικειμενοστρεφής Προγραμματισμός Αντικειμενοστρεφής Προγραμματισμός Διδάσκουσα: Αναπλ. Καθηγήτρια Ανδριάνα Πρέντζα aprentza@unipi.gr Εργαστηριακός Συνεργάτης: Δρ. Βασιλική Κούφη vassok@unipi.gr Εργαστήριο 2 Βασικοί Τύποι Μεταβλητών Java

Διαβάστε περισσότερα

ΠΡΟΤΥΠΑ. ΠΑΡΑ ΕΙΓΜΑ ηµιουργία πρότυπου στοίβας (stack) και στη συνέχεια δηµιουργία µιας στοίβας σηµείων.

ΠΡΟΤΥΠΑ. ΠΑΡΑ ΕΙΓΜΑ ηµιουργία πρότυπου στοίβας (stack) και στη συνέχεια δηµιουργία µιας στοίβας σηµείων. ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Α.Π.Θ. ΕΡΓΑΣΤΗΡΙΟ C++ ΕΞΑΜΗΝΟ Γ Ακαδηµαϊκό Έτος 2006-2007 ΠΡΟΤΥΠΑ ΠΑΡΑ ΕΙΓΜΑ ηµιουργία πρότυπου στοίβας (stack) και στη συνέχεια δηµιουργία µιας στοίβας σηµείων. // point.h #ifndef POINT_H

Διαβάστε περισσότερα

Wrapper Classes, Abstract Classes and Interfaces

Wrapper Classes, Abstract Classes and Interfaces Wrapper Classes, Abstract Classes and Interfaces Εβδοµάδα 3: Κλάσεις συσκευαστές, αφηρηµένες κλάσεις και διαπροσωπείες Αντικείµενα και µη-αντικείµενα Η Java παρέχει τύπους αντικειµένων και απλούς τύπους

Διαβάστε περισσότερα

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

Η εντολή if-else. Η απλή μορφή της εντολής if είναι η ακόλουθη: if (συνθήκη) { Η γενική μορφή της εντολής ifelse. εντολή_1; εντολή_2;.. Επιλογή - Επανάληψη Η εντολή if-else Ο τελεστής παράστασης συνθήκης H εντολή switch Η εντολές for και while Η εντολή do-while Η εντολές break - continue - goto Μαθηματικές συναρτήσεις Λέξεις κλειδιά στη

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008 ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008 Κατασκευαστές (Constructors) Ειδικός τύπος μεθόδων, οι οποίες: - είναι public και έχουν το ίδιο όνομα με αυτό της κλάσης - χρησιμοποιούνται για να αρχικοποιήσουν κάποιες

Διαβάστε περισσότερα

ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ ΚΑΙ ΠΟΛΥΜΟΡΦΙΣΜΟΣ

ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ ΚΑΙ ΠΟΛΥΜΟΡΦΙΣΜΟΣ ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ ΚΑΙ ΠΟΛΥΜΟΡΦΙΣΜΟΣ Γεώργιος Παπαϊωάννου (2013-14) gepap@aueb.gr Περιγραφή: Επέκταση κλάσεων στη C++ Τροποποίηση μεθόδων (method overriding) Κληρονομικότητα και κατασκευαστές, καταστροφείς,

Διαβάστε περισσότερα

Εισαγωγικά. 1.1 Η σ-αλγεβρα ως πληροφορία

Εισαγωγικά. 1.1 Η σ-αλγεβρα ως πληροφορία 1 Εισαγωγικά 1.1 Η σ-αλγεβρα ως πληροφορία Στη θεωρία μέτρου, όταν δουλεύει κανείς σε έναν χώρο X, συνήθως έχει διαλέξει μια αρκετά μεγάλη σ-άλγεβρα στον X έτσι ώστε όλα τα σύνολα που εμφανίζονται να ανήκουν

Διαβάστε περισσότερα

Δομές ελέγχου ροής προγράμματος

Δομές ελέγχου ροής προγράμματος Δομές ελέγχου ροής προγράμματος Υπάρχουν δύο είδη δομών ελέγχου ροής (control flow): Οι δομές επιλογής και Οι δομές επανάληψης Δομές ελέγχου ροής προγράμματος Είδος δομής Δομές επιλογής Δομή ελέγχου ροής

Διαβάστε περισσότερα

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

Εισαγωγή στην πληροφορική Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόµων Τοπογράφων Μηχανικών Εισαγωγή στην πληροφορική Βασίλειος Βεσκούκης ρ. Ηλεκτρολόγος Μηχανικός & Μηχανικός Υπολογιστών ΕΜΠ v.vescoukis@cs.ntua.gr Η γλώσσα προγραµµατισµού

Διαβάστε περισσότερα

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

Εισαγωγή στην πληροφορική Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόμων Τοπογράφων Μηχανικών Εισαγωγή στην πληροφορική Βασίλειος Βεσκούκης Δρ. Ηλεκτρολόγος Μηχανικός & Μηχανικός Υπολογιστών ΕΜΠ v.vescoukis@cs.ntua.gr Η γλώσσα προγραμματισμού

Διαβάστε περισσότερα

Τι είναι κλάση Κλάση

Τι είναι κλάση Κλάση 35 Τι είναι κλάση Κλάση είναι μια συλλογή από μεταβλητές. Αλλιώς είναι ένα σύνολο από: δεδομένα που δηλώνουν τα χαρακτηριστικά της κλάσης (τι είναι) και συναρτήσεις που προδιαγράφουν την συμπεριφορά της

Διαβάστε περισσότερα

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

Αντικειµενοστρεφής Προγραµµατισµός 16 η διάλεξη Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 Προηγούµενη ιάλεξη

Διαβάστε περισσότερα

Έννοια. Η αποδοχή της κληρονομίας αποτελεί δικαίωμα του κληρονόμου, άρα δεν

Έννοια. Η αποδοχή της κληρονομίας αποτελεί δικαίωμα του κληρονόμου, άρα δεν 1 1. Αποδοχή κληρονομίας Έννοια. Η αποδοχή της κληρονομίας αποτελεί δικαίωμα του κληρονόμου, άρα δεν μπορεί να ασκηθεί από τους δανειστές του κληρονόμου, τον εκτελεστή της διαθήκης, τον κηδεμόνα ή εκκαθαριστή

Διαβάστε περισσότερα

ΚΑΛΟΥΠΩΜΑΤΑ & ΜΕΤΑΤΡΟΠΕΣ

ΚΑΛΟΥΠΩΜΑΤΑ & ΜΕΤΑΤΡΟΠΕΣ ΚΑΛΟΥΠΩΜΑΤΑ & ΜΕΤΑΤΡΟΠΕΣ Γεώργιος Παπαϊωάννου (2013-14) gepap@aueb.gr Περιγραφή: Είδη καλουπωμάτων Μετατροπές και έλεγχοι τύπου Τελευταία ενημέρωση: Οκτώβριος 2013 Εισαγωγή - 2 Όπως και στη Java, στη C++

Διαβάστε περισσότερα

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 8 : ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ & ΠΟΛΥΜΟΡΦΙΣΜΟΣ

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 8 : ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ & ΠΟΛΥΜΟΡΦΙΣΜΟΣ Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 8 : ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ & ΠΟΛΥΜΟΡΦΙΣΜΟΣ ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ (1/3) Στην αρχή της κληρονομικότητας βασίζεται ο σχεδιασμός και η υλοποίηση συστημάτων Η κληρονομικότητα χρησιμοποιείται

Διαβάστε περισσότερα

ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ. Σχηματική παράσταση του προγράμματος. logariasmos

ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ. Σχηματική παράσταση του προγράμματος. logariasmos ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ ΒΑΣΙΚΗ ΚΑΙ ΠΑΡΑΓΩΓΕΣ ΚΛΑΣΕΙΣ #include class logariasmos //basikh klash //prostateymeno dedomeno-melos float ypoloipo; logariasmos() //dhlosh constructor ypoloipo=0; float pareypoloipo()

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

(2) Thread Thread. Runnable. ( ) Java. Sample91. Thread Thread ) Thread. Runnable. run() / run() Runnnale ( ) MyRun implements Runnable Runnable

(2) Thread Thread. Runnable. ( ) Java. Sample91. Thread Thread ) Thread. Runnable. run() / run() Runnnale ( ) MyRun implements Runnable Runnable (2) 18 6 26 Thread Thread Runnable ( ) Java 1 Sample91 Thread (Thread Runnable Thread ) Thread Runnable run() / Runnable run() run() Runnnale ( ) MyRun class MyRun implements Runnable Runnable (implements)

Διαβάστε περισσότερα

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

Στοίβες - Ουρές. Στοίβα (stack) Γιάννης Θεοδωρίδης, Νίκος Πελέκης, Άγγελος Πικράκης Τµήµα Πληροφορικής Στοίβες - Ουρές Γιάννης Θεοδωρίδης, Νίκος Πελέκης, Άγγελος Πικράκης Τµήµα Πληροφορικής οµές εδοµένων 1 Στοίβα (stack) οµή τύπουlifo: Last In - First Out (τελευταία εισαγωγή πρώτη εξαγωγή) Περιορισµένος

Διαβάστε περισσότερα

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

02 Αντικειμενοστρεφής Προγραμματισμός 02 Αντικειμενοστρεφής Προγραμματισμός Τεχνολογία Λογισμικού Τμήμα Πληροφορικής & Τηλεπικοινωνιών, ΕΚΠΑ Εαρινό εξάμηνο 2016 17 Δρ. Κώστας Σαΐδης saiko@di.uoa.gr Αντικειμενοστρέφεια Στον προγραμματισμό object

Διαβάστε περισσότερα

Διάλεξη 16-17: Πολυμορφισμός (Polymorphism) Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 16-17: Πολυμορφισμός (Polymorphism) Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 16-17: Πολυμορφισμός (Polymorphism) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: -Υπερφόρτωση (Overloading), Μεθόδων (Method Overloading), Τελεστών (Operator Overloading (C++, C#))

Διαβάστε περισσότερα

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

17TimeThis.h function returns reference pointer to same object { return *this; } Προαπαιτούµενη Κάθε οµάδα θα πρέπει να εµπλουτίσει το ίδιο πρόγραµµα, που έκανε την προηγούµενη φορά, προσθέτοντας στην κλάση του έναν ή περισσότερους υπερφορτωµένους τελεστές (όπως , ++, +,-,+=..)

Διαβάστε περισσότερα

POINTERS, AGGREGATION, COMPOSITION

POINTERS, AGGREGATION, COMPOSITION POINTERS, AGGREGATION, COMPOSITION POINTERS TO OBJECTS Η κλάση mystring class mystring private: char *s; int size; public: mystring(const char *); ~mystring(); char *GetString(); int GetSize(); ; mystring::mystring(const

Διαβάστε περισσότερα

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

ΗΥ-150. Προγραμματισμός ΗΥ-150 Εντολές Ελέγχου Ροής Σειριακή εκτέλεση εντολών Όλα τα προγράμματα «γράφονται» χρησιμοποιώντας 3 είδη εντολών: Σειριακές εντολές (sequential built in C) Εντολές απόφασης (if, if/else, switch) Περιλαμβάνει

Διαβάστε περισσότερα

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

Κλάσεις και αντικείμενα #include <iostream.h< Κλάσεις και αντικείμενα #include class Person private: char name[30]; int age; public: void readdata() cout > name; cout > age; void

Διαβάστε περισσότερα

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

ΗΥ-150. Προγραμματισμός ΗΥ-150 Εντολές Ελέγχου Ροής Σειριακή εκτέλεση εντολών Όλα τα προγράμματα «γράφονται» χρησιμοποιώντας 3 είδη εντολών: Σειριακές εντολές (sequential built in C) Εντολές απόφασης (if, if/else, switch) Περιλαμβάνει

Διαβάστε περισσότερα

Αρχές Προγραμματισμού

Αρχές Προγραμματισμού Αρχές Προγραμματισμού https://eclass.upatras.gr/courses/ee806/index.php Βασίλης Παλιουράς paliuras@ece.upatras.gr Μέχρι τώρα Μεθοδολογία Αυξητική ανάπτυξη Top-down Δομημένος προγραμματισμός Οργάνωση προγράμματος

Διαβάστε περισσότερα

Οι γέφυρες του ποταμού... Pregel (Konigsberg)

Οι γέφυρες του ποταμού... Pregel (Konigsberg) Οι γέφυρες του ποταμού... Pregel (Konigsberg) Β Δ Β Δ Γ Γ Κύκλος του Euler (Euler cycle) είναι κύκλος σε γράφημα Γ που περιέχει κάθε κορυφή του γραφήματος, και κάθε ακμή αυτού ακριβώς μία φορά. Για γράφημα

Διαβάστε περισσότερα

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

ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Α.Π.Θ. ΕΡΓΑΣΤΗΡΙΟ C++ ΕΞΑΜΗΝΟ Γ Ακαδηµαϊκό Έτος ΠΑΡΑ ΕΙΓΜΑ δυναµικής δέσµευσης και αποδέσµευσης µνήµης στη C++ µέσω των new και delete. // create.cpp #include using namespace std; class values public: values() : value1(0), value2(0) count++;

Διαβάστε περισσότερα

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

Προγραμματισμός Διαδικτύου 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Προγραμματισμός Διαδικτύου Ενότητα 3 : Κατηγορίες και κληρονομικότητα Ιωάννης Τσούλος 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Τμήμα Μηχανικών Πληροφορικής

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Εαρινό Εξάμηνο

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Εαρινό Εξάμηνο ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ231: Δομές Δεδομένων και Αλγόριθμοι Εαρινό Εξάμηνο 2017-2018 Φροντιστήριο 3 1. Εστω η στοίβα S και ο παρακάτω αλγόριθμος επεξεργασίας της. Να καταγράψετε την κατάσταση

Διαβάστε περισσότερα

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

Εντολές εισόδου - εξόδου. Εισαγωγή στη C++ Εντολές εισόδου - εξόδου Εισαγωγή στη C++ Το πρώτο πρόγραμμα //my first program #include using namespace std; int main(){ cout

Διαβάστε περισσότερα

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

Προγραμματισμός Υπολογιστών με C++ Φύλλο Διαγωνίσματος Ακαδημαϊκό εξάμηνο: Χειμερινό Προγραμματισμός Υπολογιστών με C++ Φύλλο Διαγωνίσματος Ακαδημαϊκό εξάμηνο: Χειμερινό 2013-14 Διδάσκων: Γεώργιος Παπαϊωάννου Μονογραφή επιτηρητή: Στοιχεία Φοιτητή (συμπληρώνεται από το φοιτητή) Όνομα: Αίθουσα/αμφιθέατρο:

Διαβάστε περισσότερα

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

Προγραμματισμός Υπολογιστών με C++ Προγραμματισμός Υπολογιστών με C++ ( 2012-1 ) 16η διάλεξη Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/ 1 Τι θα ακούσετε σήμερα Υλοποίηση στοίβας ακεραίων με χρήση τάξεων, δυναμικής καταχώρισης μνήμης

Διαβάστε περισσότερα

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

Αντικειμενοστρεφής Προγραμματισμός Αντικειμενοστρεφής Προγραμματισμός Διδάσκουσα: Αναπλ. Καθηγήτρια Ανδριάνα Πρέντζα aprentza@unipi.gr Εργαστηριακός Συνεργάτης: Δρ. Βασιλική Κούφη vassok@unipi.gr Περιεχόμενα Java Classes Java Objects Java

Διαβάστε περισσότερα

1 ΕΙΣΑΓΩΓΗ. Πρωταρχικοί Τύποι

1 ΕΙΣΑΓΩΓΗ. Πρωταρχικοί Τύποι 1 ΕΙΣΑΓΩΓΗ Η γλώσσα προγραµµατισµού Java είναι ισχυρά τυποποιηµένη (strongly typed), που σηµαίνει ότι κάθε µεταβλητή και κάθε έκφραση έχει κάποιο τύπο, ο οποίος πρέπει να είναι γνωστός κατά το χρόνο της

Διαβάστε περισσότερα

Abstract classes, Interfaces ΦΡΟΝΤΙΣΤΗΡΙΟ JAVA

Abstract classes, Interfaces ΦΡΟΝΤΙΣΤΗΡΙΟ JAVA Abstract classes, Interfaces ΦΡΟΝΤΙΣΤΗΡΙΟ JAVA Τι θα συζητήσουμε σήμερα Αφαιρέσεις στη Java Abstract μέθοδοι και abstract κλάσεις Interfaces (=διασυνδέσεις, διεπαφές) Instanceof Παραδείγματα κώδικα Αφηρημένες

Διαβάστε περισσότερα

Δομές Δεδομένων & Αλγόριθμοι

Δομές Δεδομένων & Αλγόριθμοι Ουρές Ουρές Περίληψη Η ΟυράΑΔΤ Υλοποίηση με κυκλικό πίνακα Αυξανόμενη Ουρά βασισμένη σε πίνακα Interface ουράς στην C++ Η Ουρά ADT Η ΑΔΤ Ουρά αποθηκεύει αυθαίρετα αντικείμενα Οι εισαγωγές και διαγραφές

Διαβάστε περισσότερα

Graphics.h Διασύνδεση με τη Βιβλιοθήκη Γραφικών

Graphics.h Διασύνδεση με τη Βιβλιοθήκη Γραφικών Graphics.h Διασύνδεση με τη Βιβλιοθήκη Γραφικών Βήμα 1 Θα πρέπει να κατεβάσετε τα παρακάτω αρχεία: A) graphics.h http://www.uniqueness-template.com/devcpp/graphics.h Αποθήκευση στο: C:\Dev-Cpp\include

Διαβάστε περισσότερα

Αναγνώριση Προτύπων. Σημερινό Μάθημα

Αναγνώριση Προτύπων. Σημερινό Μάθημα Αναγνώριση Προτύπων Σημερινό Μάθημα Μη Παραμετρικός Υπολογισμός πυκνότητας με εκτίμηση Ιστόγραμμα Παράθυρα Parzen Εξομαλυμένη Kernel Ασκήσεις 1 Μη Παραμετρικός Υπολογισμός πυκνότητας με εκτίμηση Κατά τη

Διαβάστε περισσότερα

ΣΤΟ ΦΑΡΜΑΚΕΙΟ. Με την πιστοποίηση του έχει πρόσβαση στο περιβάλλον του φαρμακείου που παρέχει η εφαρμογή.

ΣΤΟ ΦΑΡΜΑΚΕΙΟ. Με την πιστοποίηση του έχει πρόσβαση στο περιβάλλον του φαρμακείου που παρέχει η εφαρμογή. ΣΤΟ ΦΑΡΜΑΚΕΙΟ Ο ασθενής έχοντας μαζί του το βιβλιάριο υγείας του και την τυπωμένη συνταγή από τον ιατρό, η οποία αναγράφει τον μοναδικό κωδικό της, πάει στο φαρμακείο. Το φαρμακείο αφού ταυτοποιήσει το

Διαβάστε περισσότερα

Παίρνοντας Αποφάσεις 1

Παίρνοντας Αποφάσεις 1 Παίρνοντας Αποφάσεις 1 Στόχοι μαθήματος Συγκριτικοί/ Λογικοί Τελεστές Η εντολή IF Η εντολή switch 2 Συγκριτικοί Τελεστές == ίσο!= διάφορο / άνισο > μεγαλύτερο < μικρότερο >= μεγαλύτερο ή ίσο

Διαβάστε περισσότερα

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

ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ Έλεγχος ροής Δομή επιλογής (if, switch) Δομές επανάληψης (while, do-while, for) Διακλάδωση

Διαβάστε περισσότερα

Ερωτήσεις και απαντήσεις στα θέματα του κανονισμού κατάρτισης

Ερωτήσεις και απαντήσεις στα θέματα του κανονισμού κατάρτισης Ερωτήσεις και απαντήσεις στα θέματα του κανονισμού κατάρτισης 3 Φεβρουαρίου 2013 1 Ομάδα Α - Ερωτήσεις Γενικών Γνώσεων 1. (ΕΓΓ.155) Τι είναι το αντικείμενο και ποια τα χαρακτηριστικά του; Περιγράψτε το

Διαβάστε περισσότερα

Abstract classes, Interfaces ΦΡΟΝΤΙΣΤΗΡΙΟ JAVA

Abstract classes, Interfaces ΦΡΟΝΤΙΣΤΗΡΙΟ JAVA Abstract classes, Interfaces ΦΡΟΝΤΙΣΤΗΡΙΟ JAVA Τι θα συζητήσουμε σήμερα Αφαιρέσεις στη Java Abstract μέθοδοι και abstract κλάσεις Interfaces (=διασυνδέσεις, διεπαφές) Instanceof Παραδείγματα κώδικα Αφηρημένες

Διαβάστε περισσότερα

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 } {

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 } { Δυναμική κατανομή μνήμης Ιωάννης Γ. Τσ ούλος 2014 1 Χρήσ η δεικτών Οι δείκτες μπορούν να χρησ ιμοποιηθούν προκειμένου να αναφερθούν σ ε διευθύνσ εις μεταβλητών και όχι απευθείας σ τις ίδιες τις μεταβλητές.

Διαβάστε περισσότερα

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ενότητα 8: Κληρονομικότητα Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται

Διαβάστε περισσότερα

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

Προγραμματισμός Υπολογιστών με C++ Φύλλο Διαγωνίσματος Ακαδημαϊκό εξάμηνο: Χειμερινό Προγραμματισμός Υπολογιστών με C++ Φύλλο Διαγωνίσματος Ακαδημαϊκό εξάμηνο: Χειμερινό 2013-14 Διδάσκων: Γεώργιος Παπαϊωάννου Μονογραφή επιτηρητή: Στοιχεία Φοιτητή (συμπληρώνεται από το φοιτητή) Όνομα: Αίθουσα/αμφιθέατρο:

Διαβάστε περισσότερα

1 η Προαπαιτούµενη. Κάθε οµάδα θα δηµιουργήσει ένα πρόγραµµα, µε πιο «πολύπλοκη» κληρονοµικότητα µε ιεραρχίες ή και πολλαπλή κληρονοµικότητα.

1 η Προαπαιτούµενη. Κάθε οµάδα θα δηµιουργήσει ένα πρόγραµµα, µε πιο «πολύπλοκη» κληρονοµικότητα µε ιεραρχίες ή και πολλαπλή κληρονοµικότητα. 1 η Προαπαιτούµενη Κάθε οµάδα θα δηµιουργήσει ένα πρόγραµµα, µε πιο «πολύπλοκη» κληρονοµικότητα µε ιεραρχίες ή και πολλαπλή κληρονοµικότητα. Μπορεί να κρατήσει το πρόγραµµα που έκανε την προηγούµενη φορά

Διαβάστε περισσότερα

Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 3: Προγραμματισμός σε JAVA I Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: - Στοιχειώδης Προγραμματισμός - Προγραμματισμός με Συνθήκες - Προγραμματισμός με Βρόγχους

Διαβάστε περισσότερα

ιαφάνειες παρουσίασης #4

ιαφάνειες παρουσίασης #4 ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ http://www.softlab.ntua.gr/~nickie/courses/progtech/ ιδάσκοντες: Γιάννης Μαΐστρος (maistros@cs.ntua.gr) Στάθης Ζάχος (zachos@cs.ntua.gr) (nickie@softlab.ntua.gr) ιαφάνειες παρουσίασης

Διαβάστε περισσότερα

Ενδεικτικές Λύσεις σε Επιλεγμένα Θέματα της C++

Ενδεικτικές Λύσεις σε Επιλεγμένα Θέματα της C++ Ενδεικτικές Λύσεις σε Επιλεγμένα Θέματα της C++ class ListNode public: T data; ListNode * next; ListNode(const ListNode & src) ; data = src.data; if (src.next!=null) next = new ListNode ((const

Διαβάστε περισσότερα

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

Προγραμματισμός Υπολογιστών με C++ Προγραμματισμός Υπολογιστών με C++ ( 2012-13 ) 14η διάλεξη Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/ 1 Τι θα ακούσετε σήμερα Εικονικές μέθοδοι και πολυμορφισμός με χρήση δεικτών ή αναφορών. Εικονικοί

Διαβάστε περισσότερα

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

ΣΤΟΙΧΕΙΑ ΤΗΣ ΓΛΩΣΣΑΣ C++ Constructors, Destructors, Pointers IO Streams, File Streams ΣΤΟΙΧΕΙΑ ΤΗΣ ΓΛΩΣΣΑΣ C++ Constructors, Destructors, Pointers IO Streams, File Streams CONSTRUCTORS DESTRUCTORS Η κλάση mystring class mystring private: char s[100]; public: char *GetString(); void SetString(char

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα ως ορίσματα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα ως ορίσματα ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αντικείμενα ως ορίσματα Αντικείμενα ως ορίσματα Μπορούμε να περνάμε αντικείμενα ως ορίσματα σε μία μέθοδο όπως οποιαδήποτε άλλη μεταβλητή Οποιαδήποτε κλάση

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Αναγνώριση Προτύπων. Σημερινό Μάθημα

Αναγνώριση Προτύπων. Σημερινό Μάθημα Αναγνώριση Προτύπων Σημερινό Μάθημα Η κατάρα της διαστατικότητας Μείωση διαστάσεων εξαγωγή χαρακτηριστικών επιλογή χαρακτηριστικών Αναπαράσταση έναντι Κατηγοριοποίησης Ανάλυση Κυρίων Συνιστωσών PCA Γραμμική

Διαβάστε περισσότερα

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

Συμβολοσειρές ΣΥΜΒΟΛΟΣΕΙΡΕΣ. Γεώργιος Παπαϊωάννου ( ) ΣΥΜΒΟΛΟΣΕΙΡΕΣ Γεώργιος Παπαϊωάννου (2013-14) gepap@aueb.gr Περιγραφή: Ο τύπος string Μετατροπή από και προς τον τύπο string Βασικές μέθοδοι Χρήση Ελληνικών Συναρτήσεις C εκτύπωσης και ανάγνωσης Τελευταία

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java III Ισότητα Strings class StringTest public static void main(string args[]) String x1 = "java"; String y1 = "java"; System.out.println("1.

Διαβάστε περισσότερα

ΘΕΜΑΤΑ ΕΞΕΤΑΣΕΩΝ ΟΜΑΔΑ Α

ΘΕΜΑΤΑ ΕΞΕΤΑΣΕΩΝ ΟΜΑΔΑ Α ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩN ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ι ΕΞΕΤΑΣΤΙΚΗ ΠΕΡΙΟΔΟΣ: ΙΟΥΝΙΟΣ 2015 (10/7/2015) ΘΕΜΑΤΑ ΕΞΕΤΑΣΕΩΝ ΟΜΑΔΑ Α 1. (3.5 μονάδες)

Διαβάστε περισσότερα

ΕΠΛ233 ΠΛΗΡΟΦΟΡΙΑ ΤΥΠΟΥ. Type Information. Μ. Δικαιάκος

ΕΠΛ233 ΠΛΗΡΟΦΟΡΙΑ ΤΥΠΟΥ. Type Information. Μ. Δικαιάκος ΕΠΛ233 ΠΛΗΡΟΦΟΡΙΑ ΤΥΠΟΥ Type Information 2 Δυναμική Πληροφορία Τύπου Runtime type information (RTTI): μας επιτρέπει να ανακαλύπτουμε και να χρησιμοποιούμε δυναμικά (at run time) πληροφορίες για τον τύπο

Διαβάστε περισσότερα

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

Υπερφόρτωση τελεστών (operator( Υπερφόρτωση τελεστών (operator( overloading) Η υπερφόρτωση τελεστών είναι ένα από τα πιο ενδιαφέροντα χαρακτηριστικά του αντικειμενοστραφούς προγραμματισμού. Αναφέρεται στην πρόσθετη χρήση των συνηθισμένων

Διαβάστε περισσότερα

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Παναγιώτης Σφέτσος sfetsos@it.teithe.gr

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Παναγιώτης Σφέτσος sfetsos@it.teithe.gr ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός Παναγιώτης Σφέτσος sfetsos@it.teithe.gr ΕΡΓΑΣΤΗΡΙΟ - 3 ΘΕΜΑΤΑ: Κλάσεις Αντικείμενα Δομητές/Κατασκευαστές - Μέθοδοι - Παράμετροι

Διαβάστε περισσότερα

ΨΗΦΙΑΚΑ ΗΛΕΚΤΡΟΝΙΚΑ Σχεδίαση Λογικών Κυκλωμάτων

ΨΗΦΙΑΚΑ ΗΛΕΚΤΡΟΝΙΚΑ Σχεδίαση Λογικών Κυκλωμάτων ΨΗΦΙΑΚΑ ΗΛΕΚΤΡΟΝΙΚΑ Σχεδίαση Λογικών Κυκλωμάτων Γιάννης Λιαπέρδος [gliaperd@teikal.gr] Μάρτιος 2012 1 Ηλεκτρονικά Ελεγχόμενοι ιακόπτες Για την υλοποίηση των λογικών κυκλωμάτων χρησιμοποιούνται ηλεκτρονικά

Διαβάστε περισσότερα

Παρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα.

Παρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα. Ερωτήσεις προόδου C Παρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα. #include // δίνει οδηγία στον compiler να // συμπεριλάβει την βιβλιοθήκη stdio int

Διαβάστε περισσότερα

Ενδεικτικές Λύσεις σε Επιλεγμένα Θέματα της C++

Ενδεικτικές Λύσεις σε Επιλεγμένα Θέματα της C++ Ενδεικτικές Λύσεις σε Επιλεγμένα Θέματα της C++ class ListNode public: T data; ListNode * next; ListNode(const ListNode & src) ; data = src.data; if (src.next!=null) next = new ListNode ((const

Διαβάστε περισσότερα

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ (Σηµειώσεις Εργαστηρίου)

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ (Σηµειώσεις Εργαστηρίου) TEΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ Ι ΡΥΜΑ ΣΕΡΡΩΝ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΕΠΙΚΟΙΝΩΝΙΩΝ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ (Σηµειώσεις Εργαστηρίου) Ευάγγελος Γ. Ούτσιος Σέρρες 2004 ΠΕΡΙΕΧΟΜΕΝΑ

Διαβάστε περισσότερα

Δομημένος Προγραμματισμός (ΤΛ1006)

Δομημένος Προγραμματισμός (ΤΛ1006) Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής

Διαβάστε περισσότερα

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

ΜΑΘΗΜΑ: Αντικειμενοστρεφής Προγραμματισμός ΜΑΘΗΜΑ: Αντικειμενοστρεφής Προγραμματισμός ΔΙΔΑΣΚΩΝ: ΤΜΗΜΑ: Συνδουκάς Δημήτριος Διοίκησης Επιχειρήσεων (Γρεβενά) 1 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης CreativeCommons.

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα