Πολυμορφισμός. Σήμερα! Virtual Κληρονομικότητα Mixin classes Αφηρημένοι τύποι δεδομένων Pure Virtual συναρτήσεις
|
|
- Ἀλφαῖος Ασπάσιος
- 7 χρόνια πριν
- Προβολές:
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 2 1 Κλάση Βάση/Παράγωγη Τα διάφορα αντικείμενα μπορούν να έχουν μεταξύ
Διαβάστε περισσότεραΑναφορές (References)
Αναφορές (References) Σήμερα! Αναφορές (references) Που ορίζουμε αναφορά Αναφορές σε αντικείμενα Πέρασμα με αναφορά Πέρασμα πολλαπλών τιμών 2 1 Αναφορές (references) Οι αναφορές έχουν τη δύναμη των δεικτών
Διαβάστε περισσότεραΣυναρτήσεις. Σημερινό μάθημα
Συναρτήσεις Σημερινό μάθημα C++ Συναρτήσεις Δήλωση συνάρτησης Σύνταξη συνάρτησης Πρότυπο συνάρτησης & συνάρτηση Αλληλο καλούμενες συναρτήσεις συναρτήσεις μαθηματικών Παράμετροι συναρτήσεων Τοπικές μεταβλητές
Διαβάστε περισσότεραPointers. Σημερινό Μάθημα! Χρήση pointer Τελεστής * Τελεστής & Γενικοί δείκτες Ανάκληση Δέσμευση μνήμης new / delete Pointer σε αντικείμενο 2
Pointers 1 Σημερινό Μάθημα! Χρήση pointer Τελεστής * Τελεστής & Γενικοί δείκτες Ανάκληση Δέσμευση μνήμης new / delete Pointer σε αντικείμενο 2 1 Μνήμη μεταβλητών Κάθε μεταβλητή έχει διεύθυνση Δεν χρειάζεται
Διαβάστε περισσότερα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 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;} };
//VK Από Βάτσου Χριστίνα //VK για το σχολιό σου στο τέλος...όπως σας είπα και στο εργαστήριο //VK Η διαγραφή της µνήµης δεν διαγράφει τον δείκτη που δείχνει σε αυτή //VK ούτε αλλάζει την τιµή της διεύθυνσης
Διαβάστε περισσότεραΗ λέξη κλειδί this. Γαβαλάς Δαμιανός dgavalas@aegean.gr
Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Διάλεξη #6 η : Η λέξη κλειδί this, υπερφόρτωση μεθόδων, κληρονομικότητα, πολυμορφισμός, υπερκάλυψη, επίπεδα προσπέλασης Γαβαλάς Δαμιανός dgavalas@aegean.gr
Διαβάστε περισσότεραAντικειμενοστραφής. Προγραμματισμός. Κληρονομικότητα
Κληρονομικότητα Η κληρονομικότητα είναι ένα από τα πιο ισχυρά χαρακτηριστικά του αντικειμενοστραφούς προγραμματισμού. Είναι ο μηχανισμός που επιτρέπει σε μία κλάση να κληρονομεί όλη τη συμπεριφορά και
Διαβάστε περισσότεραΔυναμική μνήμη με πίνακες και λίστες
Δυναμική μνήμη με πίνακες και λίστες Ατζέντα ονομάτων Οι πίνακες βοηθάνε στην εύκολη προσπέλαση, στην σειριοποίηση των δεδομένων για αποθήκευση ή μετάδοση. Απαιτούν ωστόσο είτε προκαταβολική δέσμευση μνήμης
Διαβάστε περισσότεραΑναγνώριση Προτύπων. Σήμερα! Λόγος Πιθανοφάνειας Πιθανότητα Λάθους Κόστος Ρίσκο 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)?
Θέμα 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;
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
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++ Σχεδιάστηκε το 1979 από τον Bjarne Stroustrup στα Bell Laboratories Βασίζεται
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός Διάλεξη 9 : ΑΦΗΡΗΜΕΝΕΣ ΚΛΑΣΕΙΣ
Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 9 : ΑΦΗΡΗΜΕΝΕΣ ΚΛΑΣΕΙΣ INTERFACES ΕΣΩΤΕΡΙΚΕΣ ΚΛΑΣΕΙΣ (INNER CLASSES) Αφηρημένες Κλάσεις (Abstract Classes) (1/6) Οι αφηρημένες κλάσεις χρησιμοποιούνται για την
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός
Αντικειμενοστρεφής Προγραμματισμός Διδάσκουσα: Αναπλ. Καθηγήτρια Ανδριάνα Πρέντζα aprentza@unipi.gr Εργαστηριακός Συνεργάτης: Δρ. Βασιλική Κούφη vassok@unipi.gr Εργαστήριο 2 Βασικοί Τύποι Μεταβλητών Java
Διαβάστε περισσότεραΠΡΟΤΥΠΑ. ΠΑΡΑ ΕΙΓΜΑ ηµιουργία πρότυπου στοίβας (stack) και στη συνέχεια δηµιουργία µιας στοίβας σηµείων.
ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Α.Π.Θ. ΕΡΓΑΣΤΗΡΙΟ C++ ΕΞΑΜΗΝΟ Γ Ακαδηµαϊκό Έτος 2006-2007 ΠΡΟΤΥΠΑ ΠΑΡΑ ΕΙΓΜΑ ηµιουργία πρότυπου στοίβας (stack) και στη συνέχεια δηµιουργία µιας στοίβας σηµείων. // point.h #ifndef POINT_H
Διαβάστε περισσότεραWrapper Classes, Abstract Classes and Interfaces
Wrapper Classes, Abstract Classes and Interfaces Εβδοµάδα 3: Κλάσεις συσκευαστές, αφηρηµένες κλάσεις και διαπροσωπείες Αντικείµενα και µη-αντικείµενα Η Java παρέχει τύπους αντικειµένων και απλούς τύπους
Διαβάστε περισσότεραΗ εντολή 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 Κατασκευαστές (Constructors) Ειδικός τύπος μεθόδων, οι οποίες: - είναι public και έχουν το ίδιο όνομα με αυτό της κλάσης - χρησιμοποιούνται για να αρχικοποιήσουν κάποιες
Διαβάστε περισσότεραΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ ΚΑΙ ΠΟΛΥΜΟΡΦΙΣΜΟΣ
ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ ΚΑΙ ΠΟΛΥΜΟΡΦΙΣΜΟΣ Γεώργιος Παπαϊωάννου (2013-14) gepap@aueb.gr Περιγραφή: Επέκταση κλάσεων στη C++ Τροποποίηση μεθόδων (method overriding) Κληρονομικότητα και κατασκευαστές, καταστροφείς,
Διαβάστε περισσότεραΕισαγωγικά. 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 : ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ & ΠΟΛΥΜΟΡΦΙΣΜΟΣ ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ (1/3) Στην αρχή της κληρονομικότητας βασίζεται ο σχεδιασμός και η υλοποίηση συστημάτων Η κληρονομικότητα χρησιμοποιείται
Διαβάστε περισσότεραΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ. Σχηματική παράσταση του προγράμματος. 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) 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) Γιάννης Θεοδωρίδης, Νίκος Πελέκης, Άγγελος Πικράκης Τµήµα Πληροφορικής
Στοίβες - Ουρές Γιάννης Θεοδωρίδης, Νίκος Πελέκης, Άγγελος Πικράκης Τµήµα Πληροφορικής οµές εδοµένων 1 Στοίβα (stack) οµή τύπουlifo: Last In - First Out (τελευταία εισαγωγή πρώτη εξαγωγή) Περιορισµένος
Διαβάστε περισσότερα02 Αντικειμενοστρεφής Προγραμματισμός
02 Αντικειμενοστρεφής Προγραμματισμός Τεχνολογία Λογισμικού Τμήμα Πληροφορικής & Τηλεπικοινωνιών, ΕΚΠΑ Εαρινό εξάμηνο 2016 17 Δρ. Κώστας Σαΐδης saiko@di.uoa.gr Αντικειμενοστρέφεια Στον προγραμματισμό object
Διαβάστε περισσότεραΔιάλεξη 16-17: Πολυμορφισμός (Polymorphism) Διδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 16-17: Πολυμορφισμός (Polymorphism) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: -Υπερφόρτωση (Overloading), Μεθόδων (Method Overloading), Τελεστών (Operator Overloading (C++, C#))
Διαβάστε περισσότερα17TimeThis.h function returns reference pointer to same object { return *this; }
Προαπαιτούµενη Κάθε οµάδα θα πρέπει να εµπλουτίσει το ίδιο πρόγραµµα, που έκανε την προηγούµενη φορά, προσθέτοντας στην κλάση του έναν ή περισσότερους υπερφορτωµένους τελεστές (όπως , ++, +,-,+=..)
Διαβάστε περισσότερα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 Εντολές Ελέγχου Ροής Σειριακή εκτέλεση εντολών Όλα τα προγράμματα «γράφονται» χρησιμοποιώντας 3 είδη εντολών: Σειριακές εντολές (sequential built in C) Εντολές απόφασης (if, if/else, switch) Περιλαμβάνει
Διαβάστε περισσότεραΚλάσεις και αντικείμενα #include <iostream.h<
Κλάσεις και αντικείμενα #include class Person private: char name[30]; int age; public: void readdata() cout > name; cout > age; void
Διαβάστε περισσότεραΗΥ-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) Β Δ Β Δ Γ Γ Κύκλος του Euler (Euler cycle) είναι κύκλος σε γράφημα Γ που περιέχει κάθε κορυφή του γραφήματος, και κάθε ακμή αυτού ακριβώς μία φορά. Για γράφημα
Διαβάστε περισσότεραΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Α.Π.Θ. ΕΡΓΑΣΤΗΡΙΟ 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++ Το πρώτο πρόγραμμα //my first program #include using namespace std; int main(){ cout
Διαβάστε περισσότεραΠρογραμματισμός Υπολογιστών με C++ Φύλλο Διαγωνίσματος Ακαδημαϊκό εξάμηνο: Χειμερινό
Προγραμματισμός Υπολογιστών με C++ Φύλλο Διαγωνίσματος Ακαδημαϊκό εξάμηνο: Χειμερινό 2013-14 Διδάσκων: Γεώργιος Παπαϊωάννου Μονογραφή επιτηρητή: Στοιχεία Φοιτητή (συμπληρώνεται από το φοιτητή) Όνομα: Αίθουσα/αμφιθέατρο:
Διαβάστε περισσότεραΠρογραμματισμός Υπολογιστών με 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 ΕΙΣΑΓΩΓΗ Η γλώσσα προγραµµατισµού Java είναι ισχυρά τυποποιηµένη (strongly typed), που σηµαίνει ότι κάθε µεταβλητή και κάθε έκφραση έχει κάποιο τύπο, ο οποίος πρέπει να είναι γνωστός κατά το χρόνο της
Διαβάστε περισσότεραAbstract classes, Interfaces ΦΡΟΝΤΙΣΤΗΡΙΟ JAVA
Abstract classes, Interfaces ΦΡΟΝΤΙΣΤΗΡΙΟ JAVA Τι θα συζητήσουμε σήμερα Αφαιρέσεις στη Java Abstract μέθοδοι και abstract κλάσεις Interfaces (=διασυνδέσεις, διεπαφές) Instanceof Παραδείγματα κώδικα Αφηρημένες
Διαβάστε περισσότεραΔομές Δεδομένων & Αλγόριθμοι
Ουρές Ουρές Περίληψη Η ΟυράΑΔΤ Υλοποίηση με κυκλικό πίνακα Αυξανόμενη Ουρά βασισμένη σε πίνακα Interface ουράς στην C++ Η Ουρά ADT Η ΑΔΤ Ουρά αποθηκεύει αυθαίρετα αντικείμενα Οι εισαγωγές και διαγραφές
Διαβάστε περισσότερα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 Στόχοι μαθήματος Συγκριτικοί/ Λογικοί Τελεστές Η εντολή IF Η εντολή switch 2 Συγκριτικοί Τελεστές == ίσο!= διάφορο / άνισο > μεγαλύτερο < μικρότερο >= μεγαλύτερο ή ίσο
Διαβάστε περισσότεραΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ
ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ Έλεγχος ροής Δομή επιλογής (if, switch) Δομές επανάληψης (while, do-while, for) Διακλάδωση
Διαβάστε περισσότεραΕρωτήσεις και απαντήσεις στα θέματα του κανονισμού κατάρτισης
Ερωτήσεις και απαντήσεις στα θέματα του κανονισμού κατάρτισης 3 Φεβρουαρίου 2013 1 Ομάδα Α - Ερωτήσεις Γενικών Γνώσεων 1. (ΕΓΓ.155) Τι είναι το αντικείμενο και ποια τα χαρακτηριστικά του; Περιγράψτε το
Διαβάστε περισσότερα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 } {
Δυναμική κατανομή μνήμης Ιωάννης Γ. Τσ ούλος 2014 1 Χρήσ η δεικτών Οι δείκτες μπορούν να χρησ ιμοποιηθούν προκειμένου να αναφερθούν σ ε διευθύνσ εις μεταβλητών και όχι απευθείας σ τις ίδιες τις μεταβλητές.
Διαβάστε περισσότεραΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ενότητα 8: Κληρονομικότητα Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται
Διαβάστε περισσότεραΠρογραμματισμός Υπολογιστών με C++ Φύλλο Διαγωνίσματος Ακαδημαϊκό εξάμηνο: Χειμερινό
Προγραμματισμός Υπολογιστών με C++ Φύλλο Διαγωνίσματος Ακαδημαϊκό εξάμηνο: Χειμερινό 2013-14 Διδάσκων: Γεώργιος Παπαϊωάννου Μονογραφή επιτηρητή: Στοιχεία Φοιτητή (συμπληρώνεται από το φοιτητή) Όνομα: Αίθουσα/αμφιθέατρο:
Διαβάστε περισσότερα1 η Προαπαιτούµενη. Κάθε οµάδα θα δηµιουργήσει ένα πρόγραµµα, µε πιο «πολύπλοκη» κληρονοµικότητα µε ιεραρχίες ή και πολλαπλή κληρονοµικότητα.
1 η Προαπαιτούµενη Κάθε οµάδα θα δηµιουργήσει ένα πρόγραµµα, µε πιο «πολύπλοκη» κληρονοµικότητα µε ιεραρχίες ή και πολλαπλή κληρονοµικότητα. Μπορεί να κρατήσει το πρόγραµµα που έκανε την προηγούµενη φορά
Διαβάστε περισσότεραΔιάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 3: Προγραμματισμός σε JAVA I Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: - Στοιχειώδης Προγραμματισμός - Προγραμματισμός με Συνθήκες - Προγραμματισμός με Βρόγχους
Διαβάστε περισσότεραιαφάνειες παρουσίασης #4
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ http://www.softlab.ntua.gr/~nickie/courses/progtech/ ιδάσκοντες: Γιάννης Μαΐστρος (maistros@cs.ntua.gr) Στάθης Ζάχος (zachos@cs.ntua.gr) (nickie@softlab.ntua.gr) ιαφάνειες παρουσίασης
Διαβάστε περισσότεραΕνδεικτικές Λύσεις σε Επιλεγμένα Θέματα της 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++ ( 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 CONSTRUCTORS DESTRUCTORS Η κλάση mystring class mystring private: char s[100]; public: char *GetString(); void SetString(char
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα ως ορίσματα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αντικείμενα ως ορίσματα Αντικείμενα ως ορίσματα Μπορούμε να περνάμε αντικείμενα ως ορίσματα σε μία μέθοδο όπως οποιαδήποτε άλλη μεταβλητή Οποιαδήποτε κλάση
Διαβάστε περισσότεραΟνοματεπώνυμο και ΑΜ: Είχα παραδώσει εργασίες τα εξής ακαδημαϊκά έτη: Διάρκεια: 2,5 ώρες, κλειστά βιβλία και σημειώσεις ΚΑΛΗ ΕΠΙΤΥΧΙΑ!
Οικονομικό Πανεπιστήμιο Αθηνών, Τμήμα Πληροφορικής Μάθημα: Προγραμματισμός Υπολογιστών με C++ Εξεταστική περίοδος: Σεπτεμβρίου 2011. Διδάσκων: Α. Δημάκης Γράψτε όλες τις απαντήσεις σας πάνω σε αυτό το
Διαβάστε περισσότεραΑναγνώριση Προτύπων. Σημερινό Μάθημα
Αναγνώριση Προτύπων Σημερινό Μάθημα Η κατάρα της διαστατικότητας Μείωση διαστάσεων εξαγωγή χαρακτηριστικών επιλογή χαρακτηριστικών Αναπαράσταση έναντι Κατηγοριοποίησης Ανάλυση Κυρίων Συνιστωσών PCA Γραμμική
Διαβάστε περισσότεραΣυμβολοσειρές ΣΥΜΒΟΛΟΣΕΙΡΕΣ. Γεώργιος Παπαϊωάννου ( )
ΣΥΜΒΟΛΟΣΕΙΡΕΣ Γεώργιος Παπαϊωάννου (2013-14) gepap@aueb.gr Περιγραφή: Ο τύπος string Μετατροπή από και προς τον τύπο string Βασικές μέθοδοι Χρήση Ελληνικών Συναρτήσεις C εκτύπωσης και ανάγνωσης Τελευταία
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη 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 2 Δυναμική Πληροφορία Τύπου Runtime type information (RTTI): μας επιτρέπει να ανακαλύπτουμε και να χρησιμοποιούμε δυναμικά (at run time) πληροφορίες για τον τύπο
Διαβάστε περισσότεραΥπερφόρτωση τελεστών (operator(
Υπερφόρτωση τελεστών (operator( overloading) Η υπερφόρτωση τελεστών είναι ένα από τα πιο ενδιαφέροντα χαρακτηριστικά του αντικειμενοστραφούς προγραμματισμού. Αναφέρεται στην πρόσθετη χρήση των συνηθισμένων
Διαβάστε περισσότεραΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Παναγιώτης Σφέτσος sfetsos@it.teithe.gr
ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός Παναγιώτης Σφέτσος sfetsos@it.teithe.gr ΕΡΓΑΣΤΗΡΙΟ - 3 ΘΕΜΑΤΑ: Κλάσεις Αντικείμενα Δομητές/Κατασκευαστές - Μέθοδοι - Παράμετροι
Διαβάστε περισσότεραΨΗΦΙΑΚΑ ΗΛΕΚΤΡΟΝΙΚΑ Σχεδίαση Λογικών Κυκλωμάτων
ΨΗΦΙΑΚΑ ΗΛΕΚΤΡΟΝΙΚΑ Σχεδίαση Λογικών Κυκλωμάτων Γιάννης Λιαπέρδος [gliaperd@teikal.gr] Μάρτιος 2012 1 Ηλεκτρονικά Ελεγχόμενοι ιακόπτες Για την υλοποίηση των λογικών κυκλωμάτων χρησιμοποιούνται ηλεκτρονικά
Διαβάστε περισσότεραΠαρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα.
Ερωτήσεις προόδου C Παρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα. #include // δίνει οδηγία στον compiler να // συμπεριλάβει την βιβλιοθήκη stdio int
Διαβάστε περισσότεραΕνδεικτικές Λύσεις σε Επιλεγμένα Θέματα της 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) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής
Διαβάστε περισσότεραΜΑΘΗΜΑ: Αντικειμενοστρεφής Προγραμματισμός
ΜΑΘΗΜΑ: Αντικειμενοστρεφής Προγραμματισμός ΔΙΔΑΣΚΩΝ: ΤΜΗΜΑ: Συνδουκάς Δημήτριος Διοίκησης Επιχειρήσεων (Γρεβενά) 1 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης CreativeCommons.
Διαβάστε περισσότεραυναµική διαχείριση µνήµης στη C++ Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: ΕΠΛ 132 Αρχές Προγραµµατισµού ΙΙ 2 είκτες
υναµική διαχείριση µνήµης στη C++ Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: είκτες στη C++ Οι τελεστές new και delete Destructors Ορισµός τελεστών κλάσεων Ο δείκτης this ΕΠΛ 132 Αρχές Προγραµµατισµού
Διαβάστε περισσότεραΤίτλος Μαθήματος: Ηλεκτρονικοί Υπολογιστές IΙΙ. Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης
Τίτλος Μαθήματος: Ηλεκτρονικοί Υπολογιστές IΙΙ Ενότητα: Latex Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης Τμήμα: Οικονομικών Επιστημών Απλή χρήση διανύσματος στη C++ Ένα απλό παράδειγμα τρήζης
Διαβάστε περισσότερα