Πανεπιστήμιο Πατρών ΟΝΣΟΚΕΝΣΡΙΚΟ ΠΡΟΓΡΑΜΜΑΣΙΜΟ ΙΙ (C++) Κληπονομικόηηηα. Σμήμα Μηχανικών Ηλεκηπονικών Τπολογιζηών και Πληποθοπικήρ

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

Download "Πανεπιστήμιο Πατρών ΟΝΣΟΚΕΝΣΡΙΚΟ ΠΡΟΓΡΑΜΜΑΣΙΜΟ ΙΙ (C++) Κληπονομικόηηηα. Σμήμα Μηχανικών Ηλεκηπονικών Τπολογιζηών και Πληποθοπικήρ"

Transcript

1 Πανεπιστήμιο Πατρών 1 Σμήμα Μηχανικών Ηλεκηπονικών Τπολογιζηών και Πληποθοπικήρ ΟΝΣΟΚΕΝΣΡΙΚΟ ΠΡΟΓΡΑΜΜΑΣΙΜΟ ΙΙ (C++) Κληπονομικόηηηα

2 Πεπιεχόμενα 2 Ειζαγωγή Ιεπαπχία κλάζεων χέζειρ IS-A, HAS-A Κλάζειρ βάζηρ και παπαγόμενερ Protected μέλη χέζη μεηαξύ κλάζεων βάζηρ και παπαγόμενων Μελέηη πεπίπηωζηρ: Ιεπαπχία κληπονομικόηηηαρ ηπιών επιπέδων Constructors και Destructors ζηιρ παπαγόμενερ κλάζειρ χέζειρ Uses A και Knows A Κληπονομικόηηηα public, protected και private Η κληπονομικόηηηα ζηη Μηχανική Λογιζμικού

3 3 Ειζαγωγή H θιεξνλνκηθόηεηα αθνξά Δπαλαρξεζηκνπνίεζε ινγηζκηθνύ Γεκηνπξγία λέαο θιάζεο (παραγόμενη κλάζη) από κηα αξρηθή ππάξρνπζα θιάζε (κλάζη βάζης) Κιεξνλνκνύληαη ηα ραξαθηεξηζηηθά θαη ε ζπκπεξηθνξά ηεο αξρηθήο θιάζεο Δπέθηαζε ηεο παξαγόκελεο θιάζεο κε λέεο δπλαηόηεηεο (customization) λέα πεδία επηπξόζζεηε ζπκπεξηθνξά

4 4 Ειζαγωγή Υπνζηεξίδνληαη 3 ηύπνη θιεξνλνκηθόηεηαο public Κάζε αληηθείκελν κηαο παξαγόκελεο θιάζεο είλαη αληηθείκελν θαη ηεο θιάζεο βάζεο Αληηθείκελα κηαο θιάζεο βάζεο δελ είλαη αληηθείκελα ηεο παξαγόκελεο θιάζεο Παξάδεηγκα: Όια ηα απηνθίλεηα είλαη νρήκαηα, αιιά δελ ηζρύεη ην αληίζηξνθν Δπηηξέπεηαη ε πξνζπέιαζε ηωλ κε-private κειώλ ηεο θιάζεο βάζεο Η παξαγόκελε θιάζε κπνξεί λα επηθέξεη αιιαγέο ζηα private κέιε ηεο θιάζεο βάζεο, κέζω θιεξνλνκνύκελωλ κε-private κεζόδωλ private Αληίζηνηρε κε ηε ζρέζε ζύλζεζεο protected Φξεζηκνπνηείηαη ζπάληα

5 5 Ιεπαπχία κλάζεων Ιεξαξρία θιάζεωλ Άκεζε θιάζε βάζεο Κιεξνλνκείηαη απ επζείαο (ηεξαξρία ελόο επηπέδνπ) Έκκεζε θιάζε βάζεο Κιεξνλνκείηαη ζε ηεξαξρία δύν ή πεξηζζόηεξωλ επηπέδωλ Απιή θιεξνλνκηθόηεηα Μία παξαγόκελε θιάζε ζπλδέεηαη κε κία κόλν θιάζε βάζεο Πνιιαπιή θιεξνλνκηθόηεηα Μία παξαγόκελε θιάζε ζπλδέεηαη κε πνιιέο θιάζεηο βάζεο Να ρξεζηκνπνηείηαη κε πξνζνρή

6 Ιεπαπχία κληπονομικόηηηαρ 6 Ιεξαξρία θιεξνλνκηθόηεηαο γηα κέιε παλεπηζηεκηαθήο θνηλόηεηαο ΜέλοςΠανΚοινόηηη ας Υπάλληλος Σποσδαζηή ς Απόθοιηος Απιή θιεξνλνκηθόηεηα Πανεπιζηημιακ ός Διοικηηικ ός Απιή θιεξνλνκηθόηεηα Διοικών Διδάζκφν Απιή θιεξνλνκηθόηεηα Διοικών-Διδάζκφν Πνιιαπιή θιεξνλνκηθόηεηα

7 7 Ιεξαξρία θιεξνλνκηθόηεηαο γηα ζρήκαηα Στήμα 2-ΔιαζηάζεφνΣτήμα 3-ΔιαζηάζεωνΣχήμα Κύκλος Τεηράγφν ο Τρίγφνο Σθαίρα Κύβος Τεηράεδρο

8 8 Σχέζειρ IS-A, HAS-A Σρέζε IS-A IS-A, ππνδειώλεη ζρέζε θιεξνλνκηθόηεηαο Έλα αληηθείκελν κηαο παξαγόκελεο θιάζεο κπνξνύκε λα ην ρεηξηζηνύκε θαη ωο αληηθείκελν ηεο θιάζεο βάζεο Παξάδεηγκα: Αστοκίνητο, Φορτηγό, Μοτοσικλέτα IS-A Ότημα Σρέζε HAS-A Οη ηδηόηεηεο/ζπκπεξηθνξά ηεο θιάζεο Όρεκα ηζρύνπλ θαη γηα ηελ θιάζε Απηνθίλεην, Φνξηεγό, Μνηνζηθιέηα HAS-A, ππνδειώλεη ζρέζε ζύλζεζεο Έλα αληηθείκελν πεξηέρεη έλα ή πεξηζζόηεξα αληηθείκελα άιιωλ θιάζεωλ ωο κέιε Παξάδεηγκα: Αστοκίνητο HAS-A 1 Μητανή, 1 Τιμόνι, 4 Πόρτες, θηι

9 9 Κλάζειρ βάζηρ και παπαγόμενερ Έλα αληηθείκελν κηαο παξαγόκελεο θιάζεο είναι ένα (is a) αληηθείκελν θαη ηεο θιάζεο βάζεο Παξάδεηγκα: έλα Τξίγωλν είλαη έλα Γεωκεηξηθό Σρήκα. Η θιάζε Τρίγφνο θιεξνλνκεί ηελ θιάζε Γεφμεηρικό Στήμα Quadrilateral: θιάζε βάζεο (base class) Τρίγφνο : παξαγόκελε θιάζε (derived class) Η θιάζε βάζεο αληηπξνζωπεύεη κηα γεληθόηεξε έλλνηα απ όηη ε παξαγόκελε θιάζε (ζρέζε γελίθεπζεο/ εηδίθεπζεο) Παξάδεηγκα: Base class: Ότημα Απηνθίλεην, Φνξηεγό, Βάξθα, Πνδειάην, Derived class: Ασηοκίνηηο Τν απηνθίλεην είλαη κηα εηδηθή θαηεγνξία νρεκάηωλ

10 Κλάζειρ βάζηρ και παπαγόμενερ 10 Παξαδείγκαηα Κιεξνλνκηθόηεηαο Base class Σποσδαζηής Στήμα Δάνειο Υπάλληλος Λογαριαζμός Derived classes Μεηαπηστιακός Προπηστιακός Κύκλος Τρίγφνο Ορθογώνιο Φοιηηηικό Καηαναλφηικό Σηεγαζηικό Πλήροσς Απαζτόληζης Μερικής Απαζτόληζης Όυεφς Ταμιεσηηρίοσ

11 11 Κλάζειρ βάζηρ και παπαγόμενερ public ηύπνο θιεξνλνκηθόηεηαο Οξίδεηαη κε ηελ εληνιή: Class TwoDimensionalShape : public Shape Πξνζπέιαζε ηωλ private κειώλ ηεο θιάζεο βάζεο Γελ κπνξεί λα γίλεη απ επζείαο Παξόια απηά ηα private κέιε θιεξνλνκνύληαη θαη κπνξνύκε λα ηα ρεηξηζηνύκε κέζω ηωλ κε-private θιεξνλνκνύκελωλ κεζόδωλ Πξνζπέιαζε ηωλ public θαη protected κειώλ ηεο θιάζεο βάζεο Κιεξνλνκνύληαη θαη είλαη δπλαηή ε απ επζείαο πξνζπέιαζή ηνπο (κε ρξήζε ηνπ νλόκαηνο ηνπ κέινπο) friend functions Γελ θιεξνλνκνύληαη

12 protected μέλη 12 protected πξνζπέιαζε Δλδηάκεζν επίπεδν πξνζηαζίαο δεδνκέλωλ κεηαμύ public θαη private Η πξνζπέιαζε ηωλ protected κειώλ είλαη εθηθηή ζε: κέιε ηεο θιάζεο βάζεο friends ηεο θιάζεο βάζεο κέιε ηεο παξαγόκελεο θιάζεο Friends ηεο παξαγόκελεο θιάζεο

13 1 // Fig. 9.4: point.h 2 // Point class definition represents an x-y coordinate pair. 3 #ifndef POINT_H 4 #define POINT_H 5 6 class Point { 7 8 public: 9 Point( int = 0, int = 0 ); // default constructor void setx( int ); // set x in coordinate pair 12 int getx() const; // return x from coordinate pair void sety( int ); // set y in coordinate pair 15 int gety() const; // return y from coordinate pair void print() const; // output Point object private: 20 int x; // x part of coordinate pair 21 int y; // y part of coordinate pair }; // end class Point #endif point.h (1 of 1) Maintain x- and y- coordinates as private data members. 13

14 1 // Fig. 9.5: point.cpp 2 // Point class member-function definitions. 3 #include <iostream> 4 5 using std::cout; 6 7 #include "point.h" // Point class definition 8 9 // default constructor 10 Point::Point( int xvalue, int yvalue ) 11 { 12 x = xvalue; 13 y = yvalue; } // end Point constructor // set x in coordinate pair 18 void Point::setX( int xvalue ) 19 { 20 x = xvalue; // no need for validation } // end function setx 23 point.cpp (1 of 3) 14

15 24 // return x from coordinate pair 25 int Point::getX() const 26 { 27 return x; } // end function getx // set y in coordinate pair 32 void Point::setY( int yvalue ) 33 { 34 y = yvalue; // no need for validation } // end function sety // return y from coordinate pair 39 int Point::getY() const 40 { 41 return y; } // end function gety 44 point.cpp (2 of 3) 15

16 45 // output Point object 46 void Point::print() const 47 { 48 cout << '[' << x << ", " << y << ']'; } // end function print point.cpp (3 of 3) 16

17 1 // Fig. 9.6: pointtest.cpp 2 // Testing class Point. 3 #include <iostream> 4 5 using std::cout; 6 using std::endl; 7 8 #include "point.h" // Point class definition 9 10 int main() 11 { 12 Point point( 72, 115 ); // instantiate Point object // display point coordinates 15 cout << "X coordinate is " << point.getx() 16 << "\ny coordinate is " << point.gety(); point.setx( 10 ); // set x-coordinate 19 point.sety( 10 ); // set y-coordinate // display new point value 22 cout << "\n\nthe new location of coordinates. point is "; 23 point.print(); 24 cout << endl; 25 Create a Point object. Invoke set functions to modify private data. Invoke public function print to display new pointtest.cpp (1 of 2) 17

18 26 return 0; // indicates successful termination } // end main X coordinate is 72 Y coordinate is 115 The new location of point is [10, 10] pointtest.cpp (2 of 2) pointtest.cpp output (1 of 1) 18

19 1 // Fig. 9.7: circle.h 2 // Circle class contains x-y coordinate pair and radius. 3 #ifndef CIRCLE_H 4 #define CIRCLE_H 5 6 class Circle { 7 8 public: 9 10 // default constructor 11 Circle( int = 0, int = 0, double = 0.0 ); Note code similar to Point void setx( int ); // set x code. in coordinate pair 14 int getx() const; // return x from coordinate pair void sety( int ); // set y in coordinate pair 17 int gety() const; // return y from coordinate pair void setradius( double ); // set radius 20 double getradius() const; // return radius double getdiameter() const; // return diameter 23 double getcircumference() const; // return circumference 24 double getarea() const; // return area 25 circle.h (1 of 2) 19

20 26 void print() const; // output Circle object private: 29 int x; // x-coordinate of Circle's center 30 int y; // y-coordinate of Circle's center 31 double radius; // Circle's radius }; // end class Circle #endif Maintain x-y coordinates and radius as private data members. Note code similar to Point code. circle.h (2 of 2) 20

21 1 // Fig. 9.8: circle.cpp 2 // Circle class member-function definitions. 3 #include <iostream> 4 5 using std::cout; 6 7 #include "circle.h" // Circle class definition 8 9 // default constructor 10 Circle::Circle( int xvalue, int yvalue, double radiusvalue ) 11 { 12 x = xvalue; 13 y = yvalue; 14 setradius( radiusvalue ); } // end Circle constructor // set x in coordinate pair 19 void Circle::setX( int xvalue ) 20 { 21 x = xvalue; // no need for validation } // end function setx 24 circle.cpp (1 of 4) 21

22 25 // return x from coordinate pair 26 int Circle::getX() const 27 { 28 return x; } // end function getx // set y in coordinate pair 33 void Circle::setY( int yvalue ) 34 { 35 y = yvalue; // no need for validation } // end function sety // return y from coordinate pair 40 int Circle::getY() const 41 { 42 return y; } // end function gety 45 circle.cpp (2 of 4) 22

23 46 // set radius 47 void Circle::setRadius( double radiusvalue ) 48 { 49 radius = ( radiusvalue < 0.0? 0.0 : radiusvalue ); } // end function setradius // return radius 54 double Circle::getRadius() const 55 { 56 return radius; } // end function getradius // calculate and return diameter 61 double Circle::getDiameter() const 62 { 63 return 2 * radius; } // end function getdiameter 66 Ensure non-negative value for radius. circle.cpp (3 of 4) 23

24 67 // calculate and return circumference 68 double Circle::getCircumference() const 69 { 70 return * getdiameter(); } // end function getcircumference // calculate and return area 75 double Circle::getArea() const 76 { 77 return * radius * radius; } // end function getarea // output Circle object 82 void Circle::print() const 83 { 84 cout << "Center = [" << x << ", " << y << ']' 85 << "; Radius = " << radius; } // end function print circle.cpp (4 of 4) 24

25 1 // Fig. 9.9: circletest.cpp 2 // Testing class Circle. 3 #include <iostream> 4 5 using std::cout; 6 using std::endl; 7 using std::fixed; 8 9 #include <iomanip> using std::setprecision; #include "circle.h" // Circle class definition int main() 16 { 17 Circle circle( 37, 43, 2.5 ); // instantiate Circle object // display point coordinates 20 cout << "X coordinate is " << circle.getx() 21 << "\ny coordinate is " << circle.gety() 22 << "\nradius is " << circle.getradius(); 23 Create Circle object. circletest.cpp (1 of 2) 25

26 24 circle.setx( 2 ); // set new x-coordinate 25 circle.sety( 2 ); // set new y-coordinate 26 circle.setradius( 4.25 ); // set new radius // display new point value 29 cout << "\n\nthe new location and radius private of circle data. are\n"; 30 circle.print(); // display floating-point values with print 2 digits to display of precision new 33 cout << fixed << setprecision( 2 ); // display Circle's diameter 36 cout << "\ndiameter is " << circle.getdiameter(); // display Circle's circumference 39 cout << "\ncircumference is " << circle.getcircumference(); // display Circle's area 42 cout << "\narea is " << circle.getarea(); cout << endl; return 0; // indicates successful termination } // end main Use set functions to modify Invoke public function coordinates. circletest.cpp (2 of 2) 26

27 X coordinate is 37 Y coordinate is 43 Radius is 2.5 The new location and radius of circle are Center = [2, 2]; Radius = 4.25 Diameter is 8.50 Circumference is Area is circletest.cpp output (1 of 1) 27

28 1 // Fig. 9.10: circle2.h 2 // Circle2 class contains x-y coordinate pair and radius. 3 #ifndef CIRCLE2_H 4 #define CIRCLE2_H 5 6 #include "point.h" // Point class definition 7 8 class Circle2 : public Point { 9 10 public: // default constructor 13 Circle2( int = 0, int = 0, double = 0.0 ); void setradius( double ); // set radius 16 double getradius() const; // return radius double getdiameter() const; // return diameter 19 double getcircumference() const; // return circumference 20 double getarea() const; // return area void print() const; // output Circle2 object private: 25 double radius; // Circle2's radius Class Circle2 inherits from class Point. Colon Keyword indicates public inheritance. indicates type of inheritance. Maintain private data member radius. circle2.h (1 of 2) 28

29 26 27 }; // end class Circle #endif 1 // Fig. 9.11: circle2.cpp 2 // Circle2 class member-function definitions. 3 #include <iostream> 4 5 using std::cout; 6 7 #include "circle2.h" // Circle2 class definition 8 9 // default constructor 10 Circle2::Circle2( int xvalue, int yvalue, double radiusvalue ) 11 { 12 x = xvalue; 13 y = yvalue; 14 setradius( radiusvalue ); } // end Circle2 constructor 17 Attempting to access base class Point s private data members x and y results in syntax errors. circle2.h (2 of 2) circle2.cpp (1 of 3) 29

30 18 // set radius 19 void Circle2::setRadius( double radiusvalue ) 20 { 21 radius = ( radiusvalue < 0.0? 0.0 : radiusvalue ); } // end function setradius // return radius 26 double Circle2::getRadius() const 27 { 28 return radius; } // end function getradius // calculate and return diameter 33 double Circle2::getDiameter() const 34 { 35 return 2 * radius; } // end function getdiameter 38 circle2.cpp (2 of 3) 30

31 39 // calculate and return circumference 40 double Circle2::getCircumference() const 41 { 42 return * getdiameter(); } // end function getcircumference // calculate and return area 47 double Circle2::getArea() const 48 { 49 return * radius * radius; } // end function getarea // output Circle2 object 54 void Circle2::print() const 55 { 56 cout << "Center = [" << x << ", " << y << ']' 57 << "; Radius = " << radius; } // end function print Attempting to access base class Point s private data members x and y results in syntax errors. circle2.cpp (3 of 3) 31

32 C:\cpphtp4\examples\ch09\CircleTest\circle2.cpp(12) : error C2248: 'x' : cannot access private member declared in class 'Point' C:\cpphtp4\examples\ch09\circletest\point.h(20) : see declaration of 'x' C:\cpphtp4\examples\ch09\CircleTest\circle2.cpp(13) : error C2248: 'y' : cannot access private member declared in class 'Point' C:\cpphtp4\examples\ch09\circletest\point.h(21) : see declaration of 'y' circle2.cpp output (1 of 1) 32 C:\cpphtp4\examples\ch09\CircleTest\circle2.cpp(56) : error C2248: 'x' : cannot access private member declared in class 'Point' C:\cpphtp4\examples\ch09\circletest\point.h(20) : see declaration of 'x' C:\cpphtp4\examples\ch09\CircleTest\circle2.cpp(56) : error C2248: 'y' : cannot access private member declared in class 'Point' C:\cpphtp4\examples\ch09\circletest\point.h(21) : see declaration of 'y' Attempting to access base class Point s private data members x and y results in syntax errors.

33 1 // Fig. 9.12: point2.h 2 // Point2 class definition represents an x-y coordinate pair. 3 #ifndef POINT2_H 4 #define POINT2_H 5 6 class Point2 { 7 8 public: 9 Point2( int = 0, int = 0 ); // default constructor void setx( int ); // set x in coordinate pair 12 int getx() const; // return x from coordinate pair void sety( int ); // set y in coordinate pair 15 int gety() const; // return y from coordinate pair void print() const; // output Point2 object protected: 20 int x; // x part of coordinate pair 21 int y; // y part of coordinate pair }; // end class Point #endif Maintain x- and y- coordinates as protected data, accessible to derived classes. point2.h (1 of 1) 33

34 1 // Fig. 9.13: point2.cpp 2 // Point2 class member-function definitions. 3 #include <iostream> 4 5 using std::cout; 6 7 #include "point2.h" // Point2 class definition 8 9 // default constructor 10 Point2::Point2( int xvalue, int yvalue ) 11 { 12 x = xvalue; 13 y = yvalue; } // end Point2 constructor // set x in coordinate pair 18 void Point2::setX( int xvalue ) 19 { 20 x = xvalue; // no need for validation } // end function setx 23 point2.cpp (1 of 3) 34

35 24 // return x from coordinate pair 25 int Point2::getX() const 26 { 27 return x; } // end function getx // set y in coordinate pair 32 void Point2::setY( int yvalue ) 33 { 34 y = yvalue; // no need for validation } // end function sety // return y from coordinate pair 39 int Point2::getY() const 40 { 41 return y; } // end function gety 44 point2.cpp (2 of 3) 35

36 45 // output Point2 object 46 void Point2::print() const 47 { 48 cout << '[' << x << ", " << y << ']'; } // end function print point2.cpp (3 of 3) 36

37 1 // Fig. 9.14: circle3.h 2 // Circle3 class contains x-y coordinate pair and radius. 3 #ifndef CIRCLE3_H 4 #define CIRCLE3_H 5 class Point2. 6 #include "point2.h" // Point2 class definition 7 8 class Circle3 : public Point2 { 9 10 public: // default constructor 13 Circle3( int = 0, int = 0, double = 0.0 ); void setradius( double ); // set radius 16 double getradius() const; // return radius double getdiameter() const; // return diameter 19 double getcircumference() const; // return circumference 20 double getarea() const; // return area void print() const; // output Circle3 object private: 25 double radius; // Circle3's radius Class Circle3 inherits from Maintain private data member radius. circle3.h (1 of 2) 37

38 26 27 }; // end class Circle #endif circle3.h (2 of 2) 38

39 1 // Fig. 9.15: circle3.cpp 2 // Circle3 class member-function definitions. 3 #include <iostream> 4 5 using std::cout; 6 7 #include "circle3.h" // Circle3 class definition 8 9 // default constructor 10 Circle3::Circle3( int xvalue, int yvalue, double radiusvalue ) 11 { 12 x = xvalue; 13 y = yvalue; 14 setradius( radiusvalue ); } // end Circle3 constructor // set radius 19 void Circle3::setRadius( double radiusvalue ) 20 { 21 radius = ( radiusvalue < 0.0? 0.0 : radiusvalue ); } // end function setradius 24 Constructor first implicitly calls Modify base inherited class s default data constructor. members x and y, declared protected in base class Point2. circle3.cpp (1 of 3) 39

40 25 // return radius 26 double Circle3::getRadius() const 27 { 28 return radius; } // end function getradius // calculate and return diameter 33 double Circle3::getDiameter() const 34 { 35 return 2 * radius; } // end function getdiameter // calculate and return circumference 40 double Circle3::getCircumference() const 41 { 42 return * getdiameter(); } // end function getcircumference 45 circle3.cpp (2 of 3) 40

41 46 // calculate and return area 47 double Circle3::getArea() const 48 { 49 return * radius * radius; } // end function getarea // output Circle3 object 54 void Circle3::print() const 55 { 56 cout << "Center = [" << x << ", " << y << ']' 57 << "; Radius = " << radius; } // end function print Access inherited data members x and y, declared protected in base class Point2. circle3.cpp (3 of 3) 41

42 1 // Fig. 9.16: circletest3.cpp 2 // Testing class Circle3. 3 #include <iostream> 4 5 using std::cout; 6 using std::endl; 7 using std::fixed; 8 9 #include <iomanip> using std::setprecision; #include "circle3.h" // Circle3 class definition int main() 16 { 17 Circle3 circle( 37, 43, 2.5 ); // instantiate Circle3 object // display point coordinates 20 cout << "X coordinate is " << circle.getx() 21 << "\ny coordinate is " << circle.gety() 22 << "\nradius is " << circle.getradius(); 23 Create Circle3 object. circletest3.cpp (1 of 2) Use inherited get functions to access inherited protected data x and y. Use Circle3 get function to access private data radius. 42

43 24 circle.setx( 2 ); // set new x-coordinate 25 circle.sety( 2 ); // set new y-coordinate 26 circle.setradius( 4.25 ); // set new radius // display new point value 29 cout << "\n\nthe new location and radius of circle are\n"; 30 circle.print(); // display floating-point values with 2 digits of precision 33 cout << fixed << setprecision( 2 ); // display Circle3's diameter 36 cout << "\ndiameter is " << circle.getdiameter(); // display Circle3's circumference 39 cout << "\ncircumference is " << circle.getcircumference(); // display Circle3's area 42 cout << "\narea is " << circle.getarea(); cout << endl; return 0; // indicates successful termination } // end main Use inherited set functions to modify inherited protected Use Circle3data set xfunction and y. to modify private data radius. circletest3.cpp (2 of 2) 43

44 X coordinate is 37 Y coordinate is 43 Radius is 2.5 The new location and radius of circle are Center = [2, 2]; Radius = 4.25 Diameter is 8.50 Circumference is Area is circletest3.cpp output (1 of 1) 44

45 Σχέζη μεηαξύ κλάζεων βάζηρ και παπαγόμενων 45 Η ρξήζε protected πεδίωλ Πιενλεθηήκαηα Οη παξαγόκελεο θιάζεηο κπνξνύλ λα αιιάμνπλ ηηο ηηκέο ηωλ πεδίωλ απ επζείαο Μηθξή βειηίωζε ηεο ηαρύηεηαο Απνθεύγνπκε ηελ θιήζε ηωλ κεζόδωλ set/get Μεηνλεθηήκαηα Γελ πξνζθέξεηαη γηα έιεγρν εγθπξόηεηαο ηηκώλ Η παξαγόκελε θιάζε κπνξεί λα δώζεη κε-επηηξεπηή ηηκή Γεκηνπξγία ζρέζεωλ εμάξηεζεο Οη κέζνδνη ηεο παξαγόκελεο θιάζεο είλαη πην πηζαλόλ ηώξα λα εμαξηώληαη από ηελ πινπνίεζε ηεο θιάζεο βάζεο Δάλ αιιάμεη ε πινπνίεζε ηεο θιάζεο βάζεο κπνξεί λα ρξεηαζηεί λα ηξνπνπνηήζνπκε θαη ηελ παξαγόκελε θιάζε Δύζξαπζην ινγηζκηθό

46 1 // Fig. 9.17: point3.h 2 // Point3 class definition represents an x-y coordinate pair. 3 #ifndef POINT3_H 4 #define POINT3_H 5 6 class Point3 { 7 8 public: 9 Point3( int = 0, int = 0 ); // default constructor void setx( int ); // set x in coordinate pair 12 int getx() const; // return x from coordinate pair void sety( int ); // set y in coordinate pair 15 int gety() const; // return y from coordinate pair void print() const; // output Point3 object private: 20 int x; // x part of coordinate pair 21 int y; // y part of coordinate pair }; // end class Point #endif Better software-engineering practice: private over protected when possible. point3.h (1 of 1) 46

47 1 // Fig. 9.18: point3.cpp 2 // Point3 class member-function definitions. 3 #include <iostream> 4 5 using std::cout; 6 7 #include "point3.h" // Point3 class definition 8 9 // default constructor 10 Point3::Point3( int xvalue, int yvalue ) 11 : x( xvalue ), y( yvalue ) 12 { 13 // empty body } // end Point3 constructor // set x in coordinate pair 18 void Point3::setX( int xvalue ) 19 { 20 x = xvalue; // no need for validation } // end function setx 23 Member initializers specify values of x and y. point3.cpp (1 of 3) 47

48 24 // return x from coordinate pair 25 int Point3::getX() const 26 { 27 return x; } // end function getx // set y in coordinate pair 32 void Point3::setY( int yvalue ) 33 { 34 y = yvalue; // no need for validation } // end function sety // return y from coordinate pair 39 int Point3::getY() const 40 { 41 return y; } // end function gety 44 point3.cpp (2 of 3) 48

49 45 // output Point3 object 46 void Point3::print() const 47 { 48 cout << '[' << getx() << ", " << gety() << ']'; } // end function print Invoke non-private member functions to access private data. point3.cpp (3 of 3) 49

50 1 // Fig. 9.19: circle4.h 2 // Circle4 class contains x-y coordinate pair and radius. 3 #ifndef CIRCLE4_H 4 #define CIRCLE4_H 5 6 #include "point3.h" // Point3 class Point3. definition 7 8 class Circle4 : public Point3 { 9 10 public: // default constructor 13 Circle4( int = 0, int = 0, double = 0.0 ); void setradius( double ); // set radius 16 double getradius() const; // return radius double getdiameter() const; // return diameter 19 double getcircumference() const; // return circumference 20 double getarea() const; // return area void print() const; // output Circle4 object private: 25 double radius; // Circle4's radius Class Circle4 inherits from Maintain private data member radius. circle4.h (1 of 2) 50

51 26 27 }; // end class Circle #endif circle4.h (2 of 2) 51

52 1 // Fig. 9.20: circle4.cpp 2 // Circle4 class member-function definitions. 3 #include <iostream> 4 5 using std::cout; 6 7 #include "circle4.h" // Circle4 class definition 8 9 // default constructor 10 Circle4::Circle4( int xvalue, int yvalue, double radiusvalue ) 11 : Point3( xvalue, yvalue ) // call base-class constructor 12 { 13 setradius( radiusvalue ); } // end Circle4 constructor // set radius 18 void Circle4::setRadius( double radiusvalue ) 19 { 20 radius = ( radiusvalue < 0.0? 0.0 : radiusvalue ); } // end function setradius 23 Base-class initializer syntax passes arguments to base class Point3. circle4.cpp (1 of 3) 52

53 24 // return radius 25 double Circle4::getRadius() const 26 { 27 return radius; } // end function getradius // calculate and return diameter 32 double Circle4::getDiameter() const 33 { 34 return 2 * getradius(); } // end function getdiameter // calculate and return circumference 39 double Circle4::getCircumference() const 40 { 41 return * getdiameter(); } // end function getcircumference 44 Invoke function getradius rather than directly accessing data member radius. circle4.cpp (2 of 3) 53

54 45 // calculate and return area 46 double Circle4::getArea() const 47 { 48 return * getradius() * getradius(); } // end function getarea // output Circle4 object 53 void Circle4::print() const 54 { 55 cout << "Center = "; 56 Point3::print(); // invoke Point3's print function 57 cout << "; Radius = " << getradius(); } // end function print Redefine class Point3 s member function print. Invoke function getradius Invoke rather base-class than directly Point3 s accessing print data function member using radius. binary scope-resolution operator (::). circle4.cpp (3 of 3) 54

55 1 // Fig. 9.21: circletest4.cpp 2 // Testing class Circle4. 3 #include <iostream> 4 5 using std::cout; 6 using std::endl; 7 using std::fixed; 8 9 #include <iomanip> using std::setprecision; #include "circle4.h" // Circle4 class definition int main() 16 { 17 Circle4 circle( 37, 43, 2.5 ); // instantiate Circle4 object // display point coordinates 20 cout << "X coordinate is " << circle.getx() 21 << "\ny coordinate is " << circle.gety() 22 << "\nradius is " << circle.getradius(); 23 Create Circle4 object. circletest4.cpp (1 of 2) Use inherited get functions to access inherited protected data x and y. Use Circle3 get function to access private data radius. 55

56 24 circle.setx( 2 ); // set new x-coordinate 25 circle.sety( 2 ); // set new y-coordinate 26 circle.setradius( 4.25 ); // set new radius // display new circle value 29 cout << "\n\nthe new location and radius of circle are\n"; 30 circle.print(); // display floating-point values with 2 digits of precision 33 cout << fixed << setprecision( 2 ); // display Circle4's diameter 36 cout << "\ndiameter is " << circle.getdiameter(); // display Circle4's circumference 39 cout << "\ncircumference is " << circle.getcircumference(); // display Circle4's area 42 cout << "\narea is " << circle.getarea(); cout << endl; return 0; // indicates successful termination } // end main Use inherited set functions to modify inherited protected Use Circle3data set xfunction and y. to modify private data radius. circletest4.cpp (2 of 2) 56

57 X coordinate is 37 Y coordinate is 43 Radius is 2.5 The new location and radius of circle are Center = [2, 2]; Radius = 4.25 Diameter is 8.50 Circumference is Area is circletest4.cpp output (1 of 1) 57

58 Μελέηη πεπίπηωζηρ: Ιεπαπχία κληπονομικόηηηαρ ηπιών επιπέδων 58 Ιεξαξρία θιεξνλνκηθόηεηαο ηξηώλ επηπέδωλ point/circle/cylinder Point x-y coordinate pair Circle x-y coordinate pair Radius Cylinder x-y coordinate pair Radius Height

59 1 // Fig. 9.22: cylinder.h 2 // Cylinder class inherits from class Circle4. 3 #ifndef CYLINDER_H 4 #define CYLINDER_H 5 6 #include "circle4.h" // Circle4 class definition 7 8 class Cylinder : public Circle4 { 9 10 public: // default constructor 13 Cylinder( int = 0, int = 0, double = 0.0, double = 0.0 ); void setheight( double ); // set Cylinder's height 16 double getheight() const; // return Cylinder's height double getarea() const; // return Cylinder's area 19 double getvolume() const; // return Cylinder's volume 20 void print() const; // output Cylinder private: 23 double height; // Cylinder's height }; // end class Cylinder Class Cylinder inherits from class Circle4. Maintain private data member height. cylinder.h (1 of 2) 59

60 26 27 #endif 60 1 // Fig. 9.23: cylinder.cpp 2 // Cylinder class inherits from class Circle4. 3 #include <iostream> 4 5 using std::cout; 6 7 #include "cylinder.h" // Cylinder class definition 8 9 // default constructor 10 Cylinder::Cylinder( int xvalue, int yvalue, double radiusvalue, 11 double heightvalue ) class Circle4. 12 : Circle4( xvalue, yvalue, radiusvalue ) 13 { 14 setheight( heightvalue ); } // end Cylinder constructor 17 Base-class initializer syntax passes arguments to base cylinder.h (2 of 2) cylinder.cpp (1 of 3)

61 18 // set Cylinder's height 19 void Cylinder::setHeight( double heightvalue ) 20 { 21 height = ( heightvalue < 0.0? 0.0 : heightvalue ); } // end function setheight // get Cylinder's height 26 double Cylinder::getHeight() const 27 { 28 return height; } // end function getheight 31 Invoke base-class 32 // redefine Circle4 function getarea to calculate Cylinder area 33 double Cylinder::getArea() const 34 { 35 return 2 * Circle4::getArea() + 36 getcircumference() * getheight(); } // end function getarea 39 Redefine base class Circle4 s member function Circle4 s getareato return function using Cylinder binary scoperesolution operator surface area. (::). cylinder.cpp (2 of 3) 61

62 40 // calculate Cylinder volume 41 double Cylinder::getVolume() const 42 { 43 return Circle4::getArea() * getheight(); } // end function getvolume // output Cylinder object 48 void Cylinder::print() const 49 { 50 Circle4::print(); 51 cout << "; Height = " << getheight(); } // end function print Invoke base-class Circle4 s getarea function using binary scoperesolution operator (::). Redefine class Circle4 s Invoke base-class member function print. Circle4 s print function using binary scope-resolution operator (::). cylinder.cpp (3 of 3) 62

63 1 // Fig. 9.24: cylindertest.cpp 2 // Testing class Cylinder. 3 #include <iostream> 4 5 using std::cout; 6 using std::endl; 7 using std::fixed; 8 9 #include <iomanip> using std::setprecision; #include "cylinder.h" // Cylinder class definition int main() 16 { 17 // instantiate Cylinder object 18 Cylinder cylinder( 12, 23, 2.5, 5.7 ); // display point coordinates 21 cout << "X coordinate is " << cylinder.getx() 22 << "\ny coordinate is " << cylinder.gety() 23 << "\nradius is " << cylinder.getradius() 24 << "\nheight is " << cylinder.getheight(); 25 cylindertest.cpp (1 of 3) Invoke indirectly inherited Point3 member functions. Invoke directly inherited Circle4 Invoke Cylinder member function. member function. 63

64 26 cylinder.setx( 2 ); // set new x-coordinate 27 cylinder.sety( 2 ); // set new y-coordinate 28 cylinder.setradius( 4.25 ); // set new radius 29 cylinder.setheight( 10 ); // set new height // display new cylinder value 32 cout << "\n\nthe new location and radius of circle are\n"; 33 cylinder.print(); 34 Invoke redefined print 35 // display floating-point values with 2 digits of precision 36 cout << fixed << setprecision( 2 function. ); // display cylinder's diameter 39 cout << "\n\ndiameter is " << cylinder.getdiameter(); // display cylinder's circumference 42 cout << "\ncircumference is " 43 << cylinder.getcircumference(); // display cylinder's area 46 cout << "\narea is " << cylinder.getarea(); // display cylinder's volume 49 cout << "\nvolume is " << cylinder.getvolume(); 50 Invoke indirectly inherited Point3 member functions. Invoke directly inherited Circle4 Invoke Cylinder member function. member function. cylindertest.cpp (2 of 3) Invoke redefined getarea function. 64

65 51 cout << endl; return 0; // indicates successful termination } // end main X coordinate is 12 Y coordinate is 23 Radius is 2.5 Height is 5.7 cylindertest.cpp (3 of 3) cylindertest.cpp output (1 of 1) 65 The new location and radius of circle are Center = [2, 2]; Radius = 4.25; Height = 10 Diameter is 8.50 Circumference is Area is Volume is

66 Constructors και Destructors ζηιρ παπαγόμενερ κλάζειρ 66 Γεκηνπξγία αληηθεηκέλνπ παξαγόκελεο θιάζεο Σεηξά θιήζεο ηωλ constructors Ο constructor ηεο παξαγόκελεο θιάζεο θαιεί ηνλ constructor ηεο θιάζεο βάζεο Έκκεζα ή άκεζα Βάζε ηεο ηεξαξρίαο θιεξνλνκηθόηεηαο Ο ηειεπηαίνο ζηε ζεηξά constructor πνπ θαιείηαη θαη ν πξώηνο πνπ νινθιεξώλεη ηελ εθηέιεζή ηνπ Παξάδεηγκα: ηεξαξρία Point3/Circle4/Cylinder Point3 constructor, θαιείηαη ηειεπηαίνο θαη νινθιεξώλεη ηελ εθηέιεζή ηνπ πξώηνο Αξρηθνπνίεζε ηωλ πεδίωλ Ο constructor θάζε θιάζεο βάζεο αξρηθνπνηεί ηα πεδία ηνπ

67 Constructors και Destructors ζηιρ παπαγόμενερ κλάζειρ 67 Καηαζηξνθή αληηθεηκέλνπ παξαγόκελεο θιάζεο Σεηξά θιήζεο ηωλ destructors Αληίζηξνθε ζεηξά από απηή ηεο θιήζεο ηωλ constructors O destructor ηεο παξαγόκελεο θιάζεο θαιείηαη πξώηνο O destructor ηεο επόκελεο θιάζεο βάζεο ζηελ ηεξαξρία θαιείηαη ζηε ζπλέρεηα Σπλερίδνπκε πξνο ηα πάλω κέρξη λα θζάζνπκε ζηελ ηειεπηαία θιάζε βάζεο ηεο ηεξαξρίαο Μεηά ηελ εθηέιεζε ηνπ ηειεπηαίνπ destructor, ην αληηθείκελν αθαηξείηαη από ηε κλήκε

68 Constructors και Destructors ζηιρ παπαγόμενερ κλάζειρ 68 Constructors, destructors, ηειεζηέο αλάζεζεο ηεο θιάζεο βάζεο Γελ θιεξνλνκνύληαη από ηηο παξαγόκελεο θιάζεηο Οη constructors, ηειεζηέο αλάζεζεο ηεο παξαγόκελεο θιάζεο κπνξνύλ λα θαιέζνπλ Constructors Τειεζηέο αλάζεζεο

69 1 // Fig. 9.25: point4.h 2 // Point4 class definition represents an x-y coordinate pair. 3 #ifndef POINT4_H 4 #define POINT4_H 5 6 class Point4 { 7 8 public: 9 Point4( int = 0, int = 0 ); // default constructor 10 ~Point4(); // destructor void setx( int ); // set x in coordinate pair 13 int getx() const; // return x from coordinate pair void sety( int ); // set y in coordinate pair 16 int gety() const; // return y from coordinate pair void print() const; // output Point3 object private: 21 int x; // x part of coordinate pair 22 int y; // y part of coordinate pair }; // end class Point #endif point4.h (1 of 1) Constructor and destructor output messages to demonstrate function call order. 69

70 1 // Fig. 9.26: point4.cpp 2 // Point4 class member-function definitions. 3 #include <iostream> 4 5 using std::cout; 6 using std::endl; 7 8 #include "point4.h" // Point4 class definition 9 10 // default constructor 11 Point4::Point4( int xvalue, int yvalue ) 12 : x( xvalue ), y( yvalue ) 13 { 14 cout << "Point4 constructor: "; 15 print(); 16 cout << endl; } // end Point4 constructor // destructor 21 Point4::~Point4() 22 { 23 cout << "Point4 destructor: "; 24 print(); 25 cout << endl; Output message to demonstrate constructor function call order. Output message to demonstrate destructor function call order. point4.cpp (1 of 3) 70

71 26 27 } // end Point4 destructor // set x in coordinate pair 30 void Point4::setX( int xvalue ) 31 { 32 x = xvalue; // no need for validation } // end function setx // return x from coordinate pair 37 int Point4::getX() const 38 { 39 return x; } // end function getx // set y in coordinate pair 44 void Point4::setY( int yvalue ) 45 { 46 y = yvalue; // no need for validation } // end function sety 49 point4.cpp (2 of 3) 71

72 50 // return y from coordinate pair 51 int Point4::getY() const 52 { 53 return y; } // end function gety // output Point4 object 58 void Point4::print() const 59 { 60 cout << '[' << getx() << ", " << gety() << ']'; } // end function print point4.cpp (3 of 3) 72

73 1 // Fig. 9.27: circle5.h 2 // Circle5 class contains x-y coordinate pair and radius. 3 #ifndef CIRCLE5_H 4 #define CIRCLE5_H 5 6 #include "point4.h" // Point4 class definition 7 8 class Circle5 : public Point4 { 9 10 public: // default constructor 13 Circle5( int = 0, int = 0, double = 0.0 ); ~Circle5(); // destructor 16 void setradius( double ); // set radius 17 double getradius() const; // return radius double getdiameter() const; // return diameter 20 double getcircumference() const; // return circumference 21 double getarea() const; // return area void print() const; // output Circle5 object 24 circle5.h (1 of 2) Constructor and destructor output messages to demonstrate function call order. 73

74 25 private: 26 double radius; // Circle5's radius }; // end class Circle #endif circle5.h (2 of 2) 74

75 1 // Fig. 9.28: circle5.cpp 2 // Circle5 class member-function definitions. 3 #include <iostream> 4 5 using std::cout; 6 using std::endl; 7 8 #include "circle5.h" // Circle5 class definition 9 10 // default constructor 11 Circle5::Circle5( int xvalue, int yvalue, double radiusvalue ) 12 : Point4( xvalue, yvalue ) // call base-class constructor 13 { 14 setradius( radiusvalue ); cout << "Circle5 constructor: "; 17 print(); 18 cout << endl; } // end Circle5 constructor 21 Output message to demonstrate constructor function call order. circle5.cpp (1 of 4) 75

76 22 // destructor 23 Circle5::~Circle5() 24 { 25 cout << "Circle5 destructor: "; 26 print(); 27 cout << endl; } // end Circle5 destructor // set radius 32 void Circle5::setRadius( double radiusvalue ) 33 { 34 radius = ( radiusvalue < 0.0? 0.0 : radiusvalue ); } // end function setradius // return radius 39 double Circle5::getRadius() const 40 { 41 return radius; } // end function getradius 44 Output message to demonstrate destructor function call order. circle5.cpp (2 of 4) 76

77 45 // calculate and return diameter 46 double Circle5::getDiameter() const 47 { 48 return 2 * getradius(); } // end function getdiameter // calculate and return circumference 53 double Circle5::getCircumference() const 54 { 55 return * getdiameter(); } // end function getcircumference // calculate and return area 60 double Circle5::getArea() const 61 { 62 return * getradius() * getradius(); } // end function getarea 65 circle5.cpp (3 of 4) 77

78 66 // output Circle5 object 67 void Circle5::print() const 68 { 69 cout << "Center = "; 70 Point4::print(); // invoke Point4's print function 71 cout << "; Radius = " << getradius(); } // end function print circle5.cpp (4 of 4) 78

79 1 // Fig. 9.29: fig09_29.cpp 2 // Display order in which base-class and derived-class 3 // constructors are called. 4 #include <iostream> 5 6 using std::cout; 7 using std::endl; 8 9 #include "circle5.h" // Circle5 class definition int main() 12 { 13 { // begin new scope Point4 point( 11, 22 ); } // end scope cout << endl; 20 Circle5 circle1( 72, 29, 4.5 ); cout << endl; 23 Circle5 circle2( 5, 5, 10 ); cout << endl; Point4 object goes in and out of scope immediately. Instantiate two Circle5 objects to demonstrate order of derived-class and baseclass constructor/destructor function calls. fig09_29.cpp (1 of 2) 79

80 26 27 return 0; // indicates successful termination } // end main Point4 constructor: [11, 22] Point4 destructor: [11, 22] Point4 constructor: [72, 29] Circle5 constructor: Center = [72, 29]; Radius = 4.5 Point4 constructor: [5, 5] Circle5 constructor: Center = [5, 5]; Radius = 10 Circle5 destructor: Center = [5, 5]; Radius = 10 Point4 destructor: [5, 5] Circle5 destructor: Center = [72, 29]; Radius = 4.5 Point4 destructor: [72, 29] Point4 constructor called for object in block; destructor called immediately as execution Base-class leaves Point4 Derived-class Circle5 scope. constructor executes first when constructor instantiating body executes derived- after Base-class base-class Point4 Circle5 Point4 s Derived-class Circle5 object. constructor finishes executes first execution. when constructor instantiating body executes derivedclass after Destructors base-class for Circle5 Circle5 Point4 s object. constructor object called finishes reverse order execution. of Destructors constructors. for Circle5 object called in reverse order of constructors. fig09_29.cpp (2 of 2) fig09_29.cpp output (1 of 1) 80

81 81 Σχέζειρ Uses A και Knows A Uses A Έλα αληηθείκελν ρξεζηκνπνηεί έλα άιιν αληηθείκελν Με ην λα θαιεί κε-private κέζνδν ρξεζηκνπνηώληαο δείθηε, αλαθνξά ή ην όλνκα ηνπ αληηθεηκέλνπ Knows A (association) Έλα αληηθείκελν είλαη γλώζηεο ελόο άιινπ αληηθείκελνπ Πεξηέρεη δείθηε ή reference

82 Κληπονομικόηηηα public, protected και private 82 Προζδιοριζηής προζπέλαζης μέλοσς κλάζης βαζης Public Protected Private public θιεξνλνκηθόηεηα public ζηελ παξαγόκελε θιάζε. Μπνξεί λα πξνζπειαζζεί απ επζείαο από όιεο ηηο κε-static κεζόδνπο, friend θαη εμωηεξηθέο ζπλαξηήζεηο. protected ζηελ παξαγόκελε θιάζε. Μπνξεί λα πξνζπειαζζεί απ επζείαο από όιεο ηηο κε-static κεζόδνπο θαη friend ζπλαξηήζεηο. Κξπθή ζηελ παξαγόκελε θιάζε. Μπνξεί λα πξνζπειαζζεί από κεstatic κεζόδνπο θαη friend ζπλαξηήζεηο κέζω public ή protected κεζόδνπο ηεο θιάζεο βάζεο. Τύπος κληρονομικόηηηας protected θιεξνλνκηθόηεηα protected ζηελ παξαγόκελε θιάζε. Μπνξεί λα πξνζπειαζζεί απ επζείαο από όιεο ηηο κε-static κεζόδνπο θαη friend ζπλαξηήζεηο. protected ζηελ παξαγόκελε θιάζε. Μπνξεί λα πξνζπειαζζεί απ επζείαο από όιεο ηηο κε-static κεζόδνπο θαη friend ζπλαξηήζεηο. Κξπθή ζηελ παξαγόκελε θιάζε. Μπνξεί λα πξνζπειαζζεί από κεstatic κεζόδνπο θαη friend ζπλαξηήζεηο κέζω public ή protected κεζόδνπο ηεο θιάζεο βάζεο. private θιεξνλνκηθόηεηα private ζηελ παξαγόκελε θιάζε. Μπνξεί λα πξνζπειαζζεί απ επζείαο από όιεο ηηο κε-static κεζόδνπο θαη friend ζπλαξηήζεηο. private ζηελ παξαγόκελε θιάζε. Μπνξεί λα πξνζπειαζζεί απ επζείαο από όιεο ηηο κε-static κεζόδνπο θαη friend ζπλαξηήζεηο. Κξπθή ζηελ παξαγόκελε θιάζε. Μπνξεί λα πξνζπειαζζεί από κεstatic κεζόδνπο θαη friend ζπλαξηήζεηο κέζω public ή protected κεζόδνπο ηεο θιάζεο βάζεο.

83 Η κληπονομικόηηηα ζηη Μηχανική Λογιζμικού Πξνζαξκνγή/Δπέθηαζε ππάξρνληνο ινγηζκηθνύ Γεκηνπξγία παξαγόκελωλ θιάζεωλ κε πξνζζήθε επηπιένλ κειώλ επαλνξηζκό κεζόδωλ ηεο θιάζεο βάζεο Γελ απαηηείηαη πξόζβαζε ζηνλ πεγαίν θώδηθα ηεο θιάζεο βάζεο Γηαζύλδεζε κε object code Αλεμάξηεηνη Πξνκεζεπηέο Λνγηζκηθνύ Αλάπηπμε ηδηόθηεηνπ ινγηζκηθνύ, ππό ηε κνξθή βηβιηνζήθεο θιάζεωλ πξνο εκπνξία Απαηηείηαη άδεηα γηα λα ρξεζηκνπνηεζεί Φξεηάδνληαη κόλν ηα Header files Οη ρξήζηεο παξάγνπλ λέεο θιάζεηο ή ρξεζηκνπνηνύλ ηηο θιάζεηο ηεο βηβιηνζήθεο, ρωξίο λα ρξεηάδεηαη πξόζβαζε ζηνλ πξνζηαηεπκέλν θώδηθα πεγήο 83

84 84 Αναθοπέρ Harvey M. Deitel, Paul J. Deitel, C++ How to Program, 4th Edition,Prentice Hall. Bjarne Stroustrup, The C++ Programming Language, Special Edition, Addison-Wesley.

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

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

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

Πανεπιστήμιο Πατρών ΟΝΣΟΚΕΝΣΡΙΚΟ ΠΡΟΓΡΑΜΜΑΣΙΜΟ ΙΙ (C++) Πολσμορθιζμός. Σμήμα Μητανικών Ηλεκηρονικών Τπολογιζηών και Πληροθορικής

Πανεπιστήμιο Πατρών ΟΝΣΟΚΕΝΣΡΙΚΟ ΠΡΟΓΡΑΜΜΑΣΙΜΟ ΙΙ (C++) Πολσμορθιζμός. Σμήμα Μητανικών Ηλεκηρονικών Τπολογιζηών και Πληροθορικής Πανεπιστήμιο Πατρών 1 Σμήμα Μητανικών Ηλεκηρονικών Τπολογιζηών και Πληροθορικής ΟΝΣΟΚΕΝΣΡΙΚΟ ΠΡΟΓΡΑΜΜΑΣΙΜΟ ΙΙ (C++) Πολσμορθιζμός Περιετόμενα 2 Ειζαγωγή τέζεις ανηικειμένων ζε μια ιεραρτία κληρονομικόηηηας

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

Constructors and Destructors in C++

Constructors and Destructors in C++ Constructors and Destructors in C++ Σύνθεζη Πνιύ ζπρλά ζηε C++ κία θιάζε κπνξεί λα πεξηέρεη ζαλ κέιεδεδνκέλα αληηθείκελα άιισλ θιάζεσλ. Πνηα είλαη ε ζεηξά κε ηελ νπνία δεκηνπξγνύληαη θαη θαηαζηξέθνληαη

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

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

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

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

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

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

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

ΔΡΓΑΙΑ 1. Γιαδικησακά πληροθοριακά σζηήμαηα. Ομάδα Δργαζίας: Μεηαπηστιακοί Φοιηηηές. ηέθανος Κονηοβάς ΑΔΜ :283. Πάζτος Βαζίλειος ΑΔΜ :288

ΔΡΓΑΙΑ 1. Γιαδικησακά πληροθοριακά σζηήμαηα. Ομάδα Δργαζίας: Μεηαπηστιακοί Φοιηηηές. ηέθανος Κονηοβάς ΑΔΜ :283. Πάζτος Βαζίλειος ΑΔΜ :288 ΔΡΓΑΙΑ 1 Γιαδικησακά πληροθοριακά σζηήμαηα Ομάδα Δργαζίας: Μεηαπηστιακοί Φοιηηηές ηέθανος Κονηοβάς ΑΔΜ :283 Πάζτος Βαζίλειος ΑΔΜ :288 1.Γιάγραμμα Ονηολογίας. Σην παξαπάλω δηάγξακκα θαίλεηαη ε δηάξζξωζε

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

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

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

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

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

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

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

UML (Unified Modeling Language )

UML (Unified Modeling Language ) UML (Unified Modeling Language ) Μεγάια Έξγα Λνγηζκηθνύ = επηθνηλσλία Πνιινί πξνγξακκαηηζηέο, πνιινί πειάηεο-ρξήζηεο, νη επόκελεο γεληέο, επηβάιινπλ ηε ρξήζε θνηλήο νξνινγίαο ε άιια ηερληθά έξγα ε ρξήζε

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

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

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

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

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

Αντικειμενοστρεφής Προγραμματισμός Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Αντικειμενοστρεφής Προγραμματισμός 16/4/2018 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Τύποι της Java Primitives vs References Οι πρωταρχικοί

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

7.1 Εισαγωγή 7.2 const Αντικείµενα και const Συναρτήσεις 7.3 Σύνθεση: Αντικείµενα ως µέλη τάξης 7.4 friend Συναρτήσεις και τάξεις 7.

7.1 Εισαγωγή 7.2 const Αντικείµενα και const Συναρτήσεις 7.3 Σύνθεση: Αντικείµενα ως µέλη τάξης 7.4 friend Συναρτήσεις και τάξεις 7. Πανεπιστήµιο Πατρών Τµήµα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙΙ (C++) Τάξεις και Αφαίρεση εδοµένων 1 Τάξεις Μέρος ΙΙ 7.1 Εισαγωγή 7.2 const Αντικείµενα και

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

Συναρτήσεις στη C++ Οι µεταβλητές χαρακτηρίζονται από διάφορες ιδιότητες. Για ποιο διάστηµα η µεταβλητή υπάρχει στη µνήµη

Συναρτήσεις στη C++ Οι µεταβλητές χαρακτηρίζονται από διάφορες ιδιότητες. Για ποιο διάστηµα η µεταβλητή υπάρχει στη µνήµη Συναρτήσεις στη C++ 1 ΠΕΡΙΕΧΟΜΕΝΑ Εισαγωγή Συστατικά προγράµµατος στη C++ Μαθηµατικές Συναρτήσεις (Math Library) Συναρτήσεις Header Files Γεννήτρια τυχαίων αριθµών Χαρακτηριστικά Μεταβλητών Storage Classes

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

Απαντήσεις θέματος 2. Παξαθάησ αθνινπζεί αλαιπηηθή επίιπζε ησλ εξσηεκάησλ.

Απαντήσεις θέματος 2. Παξαθάησ αθνινπζεί αλαιπηηθή επίιπζε ησλ εξσηεκάησλ. Απαντήσεις θέματος 2 Απηά πνπ έπξεπε λα γξάςεηε (δελ ρξεηαδόηαλ δηθαηνιόγεζε εθηόο από ην Γ) Α return a*b; Β 0:acegf2, 1: acegf23, 2: acegf234, 3:acegf2345, 4:acegf23456, 5:acegf234567, 6:acegf2345678,

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

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

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

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

Τι θα δούμε σε αυτό το μάθημα;

Τι θα δούμε σε αυτό το μάθημα; Τι θα δούμε σε αυτό το μάθημα; Οξηζκόο κηαο δηαζύλδεζεο (interface) κε ηελ πξνδηαγξαθή ηεο κνξθήο θαη ηνπ ηύπνπ επηζηξνθήο ηωλ κεζόδωλ. Υινπνίεζε κηαο δηαζύλδεζεο από κία δνκή ή κία θιάζε. Αλαθνξά ζε κία

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

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

Αντικειμενοστρεφής Προγραμματισμός Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Αντικειμενοστρεφής Προγραμματισμός 3/4/2017 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Γιατί έλεγχος πρόσβασης? Προστασία ιδιωτικής πληροφορίας

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

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

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

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

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

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

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

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

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

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

Βάσεις Δεδομέμωμ. Εξγαζηήξην V. Τκήκα Πιεξνθνξηθήο ΑΠΘ 2015-2016

Βάσεις Δεδομέμωμ. Εξγαζηήξην V. Τκήκα Πιεξνθνξηθήο ΑΠΘ 2015-2016 Βάσεις Δεδομέμωμ Εξγαζηήξην V Τκήκα Πιεξνθνξηθήο ΑΠΘ 2015-2016 2 Σκοπός του 5 ου εργαστηρίου Σθνπόο απηνύ ηνπ εξγαζηεξίνπ είλαη: ε κειέηε ζύλζεησλ εξσηεκάησλ ζύλδεζεο ζε δύν ή πεξηζζόηεξεο ζρέζεηο ε κειέηε

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

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

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

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

Αιγόξηζκνη Γνκή επηινγήο. Πνιιαπιή Δπηινγή Δκθωιεπκέλεο Δπηινγέο. Δηζαγωγή ζηηο Αξρέο ηεο Δπηζηήκεο ηωλ Η/Υ. introcsprinciples.wordpress.

Αιγόξηζκνη Γνκή επηινγήο. Πνιιαπιή Δπηινγή Δκθωιεπκέλεο Δπηινγέο. Δηζαγωγή ζηηο Αξρέο ηεο Δπηζηήκεο ηωλ Η/Υ. introcsprinciples.wordpress. Αιγόξηζκνη 2.2.7.3 Γνκή επηινγήο Πνιιαπιή Δπηινγή Δκθωιεπκέλεο Δπηινγέο Δηζαγωγή ζηηο Αξρέο ηεο Δπηζηήκεο ηωλ Η/Υ 1 Πνιιαπιή Δληνιή Δπηινγήο Αν ζπλζήθε_1 ηόηε εληνιέο_1 αλλιώς_αν ζπλζήθε_2 ηόηε εληνιέο_2...

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

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

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

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

iii. iv. γηα ηελ νπνία ηζρύνπλ: f (1) 2 θαη

iii. iv. γηα ηελ νπνία ηζρύνπλ: f (1) 2 θαη ΔΠΑΝΑΛΗΠΣΙΚΑ ΘΔΜΑΣΑ ΣΟ ΓΙΑΦΟΡΙΚΟ ΛΟΓΙΜΟ Μάρτιος 0 ΘΔΜΑ Να ππνινγίζεηε ηα όξηα: i ii lim 0 0 lim iii iv lim e 0 lim e 0 ΘΔΜΑ Γίλεηαη ε άξηηα ζπλάξηεζε '( ) ( ) γηα θάζε 0 * : R R γηα ηελ νπνία ηζρύνπλ:

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

Προαπαιτούμενες Ασκήσεις 5 ου Εργαστηρίου. Dose stoixeio (integer) : 25 Found stoixeio in position 7 Dose stoixeio (integer) :94 Value not found

Προαπαιτούμενες Ασκήσεις 5 ου Εργαστηρίου. Dose stoixeio (integer) : 25 Found stoixeio in position 7 Dose stoixeio (integer) :94 Value not found Α. Πρώτη προαπαιτούµενη Κάθε οµάδα θα πρέπει να δηµιουργήσει τον ζητούµενο παρακάτω πίνακα και α. να εµφανίσει τα στοιχεία του, β. να τυπώσει τον µέσο όρο των στοιχείων του, γ. να ταξινοµήσει τα στοιχεία

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

EL Eνωμένη στην πολυμορυία EL A8-0046/319. Τροπολογία

EL Eνωμένη στην πολυμορυία EL A8-0046/319. Τροπολογία 8.3.2016 A8-0046/319 319 Άρθρο 34 παράγραθος 1 ζηοιχείο δ (δ) 14 έηε γηα θηεληαηξηθά θάξκαθα πνπ πξννξίδνληαη γηα άιια είδε δώωλ από απηά πνπ αλαθέξνληαη ζηελ παξάγξαθν 1 ζηνηρεία α) θαη γ). (δ) 10 έηε

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

Εαρινό. Ύλη εργαστηρίου, Ασκήσεις Java

Εαρινό. Ύλη εργαστηρίου, Ασκήσεις Java Εξάμηνο Μάθημα Τίτλος 2017 2018 Εαρινό Αντικειμενοστραφής Προγραμματισμός Ι Ύλη εργαστηρίου, Ασκήσεις Java Ημερομηνία Εργαστήριο 8 ο Α. Ύλη εργαστηρίου 8.1 Αντικειμενοστραφής προγραμματισμός 8.2 Κλάσεις

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

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

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

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

Ενδεικτικά Θέματα Στατιστικής ΙΙ

Ενδεικτικά Θέματα Στατιστικής ΙΙ Ενδεικτικά Θέματα Στατιστικής ΙΙ Θέματα. Έζησ όηη ζε δείγκα 35 θαηνηθηώλ πνπ ελνηθηάδνληαη ζε θνηηεηέο ζηελ Κνδάλε βξέζεθε ην κέζν κεληαίν κίζζσκα ζηα 5 επξώ, ελώ ζην Ζξάθιεην ην κέζν κεληαίν κίζζσκα ζε

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

ΔΙΑΓΩΝΙΣΜΑ ΣΤΗ ΦΥΣΙΚΗ. Ύλη: Εσθύγραμμη Κίνηζη

ΔΙΑΓΩΝΙΣΜΑ ΣΤΗ ΦΥΣΙΚΗ. Ύλη: Εσθύγραμμη Κίνηζη ΔΙΑΓΩΝΙΣΜΑ ΣΤΗ ΦΥΣΙΚΗ Είμαζηε ηυχεροί που είμαζηε δάζκαλοι Ον/μο:.. A Λσκείοσ Ύλη: Εσθύγραμμη Κίνηζη 8-11-2015 Θέμα 1 ο : 1. Η εμίζωζε θίλεζεο ελόο θηλεηνύ πνπ θηλείηαη επζύγξακκα είλαη ε x = 5t. Πνηα

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

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

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

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

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου ΥΟΛΕΙΟ..

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου ΥΟΛΕΙΟ.. ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου έλαξμεο 09.30 ιήμεο 09.45 Σην παξαθάησ ζρήκα θαίλεηαη ηκήκα ελόο πνιενδνκηθνύ ζρεδίνπ κηαο πόιεο. Οη ζθηαζκέλεο

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

ΑΛΛΑΓΗ ΟΝΟΜΑΣΟ ΚΑΙ ΟΜΑΔΑ ΕΡΓΑΙΑ, ΚΟΙΝΟΥΡΗΣΟΙ ΦΑΚΕΛΟΙ ΚΑΙ ΕΚΣΤΠΩΣΕ ΣΑ WINDOWS XP

ΑΛΛΑΓΗ ΟΝΟΜΑΣΟ ΚΑΙ ΟΜΑΔΑ ΕΡΓΑΙΑ, ΚΟΙΝΟΥΡΗΣΟΙ ΦΑΚΕΛΟΙ ΚΑΙ ΕΚΣΤΠΩΣΕ ΣΑ WINDOWS XP ΑΛΛΑΓΗ ΟΝΟΜΑΣΟ ΚΑΙ ΟΜΑΔΑ ΕΡΓΑΙΑ, ΚΟΙΝΟΥΡΗΣΟΙ ΦΑΚΕΛΟΙ ΚΑΙ ΕΚΣΤΠΩΣΕ ΣΑ WINDOWS XP ηότοι εργαζηηρίοσ ην πιαίζην ηνπ ζπγθεθξηκέλνπ εξγαζηεξίνπ ζα παξνπζηαζηνύλ βαζηθέο ιεηηνπξγίεο ησλ Windows XP πνπ ζρεηίδνληαη

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

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

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

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

Κευάλαιο 8 Μονοπωλιακή Συμπεριφορά- Πολλαπλή Τιμολόγηση

Κευάλαιο 8 Μονοπωλιακή Συμπεριφορά- Πολλαπλή Τιμολόγηση Κευάλαιο 8 Μονοπωλιακή Συμπεριφορά- Πολλαπλή Τιμολόγηση Πώς πρέπει να τιμολογεί ένα μονοπώλιο; Μέρξη ζηηγκήο ην κνλνπώιην έρεη ζεσξεζεί ζαλ κηα επηρείξεζε ε νπνία πσιεί ην πξντόλ ηεο ζε θάζε πειάηε ζηελ

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

Άζκηζη ζτέζης κόζηοσς-τρόνοσ (Cost Time trade off) Καηαζκεσαζηική ΑΔ

Άζκηζη ζτέζης κόζηοσς-τρόνοσ (Cost Time trade off) Καηαζκεσαζηική ΑΔ Άζκηζη ζτέζης κόζηοσς-τρόνοσ (Cost Time trade off) Καηαζκεσαζηική Δίζηε μησανικόρ διοίκηζηρ μεγάληρ καηαζκεςαζηικήρ εηαιπείαρ και καλείζηε να ςλοποιήζεηε ηο έπγο πος πεπιγπάθεηαι από ηον Πίνακα 1. Κωδ.

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

Παράδειγµα χρήσης πίνακα

Παράδειγµα χρήσης πίνακα 24 Strings Παράδειγµα χρήσης πίνακα Πίνακες χαρακτήρων Όλα τα strings τερµατίζουν µε το null χαρακτήρα ('\0') Παραδείγµατα char string1[] = "hello"; Το Null θα προστεθεί στο τέλος Η µεταβλητή string1 έχει

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

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

ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡ/ΣΜΟΣ C++ Υπερφόρτωση, keywords CONST, STATIC, FRIEND ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡ/ΣΜΟΣ C++ Μ. Ρήγκου (rigou@ceid.upatras.gr) Τι θα συζητήσουμε σήμερα Υπερφόρτωση Συναρτήσεων Τελεστών CONST αντικείμενα, μεταβλητές και συναρτήσεις

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

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

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

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

Απνηειέζκαηα Εξσηεκαηνινγίνπ 2o ηεηξάκελν 2011-12

Απνηειέζκαηα Εξσηεκαηνινγίνπ 2o ηεηξάκελν 2011-12 Απνηειέζκαηα Εξσηεκαηνινγίνπ 2o ηεηξάκελν 11-12 Project 6: Ταμίδη κε ηε Μεραλή ηνπ Φξόλνπ Υπεύζπλνη Καζεγεηέο: Ε. Μπηιαλάθε Φ. Αλησλάηνο Δρώηηζη 3: Πνηα από ηα παξαθάησ ΜΜΕ ηεξαξρείηε από πιεπξάο ζεκαζίαο;

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

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

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

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

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

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

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

Ζαχαρίας Μ. Κοντοπόδης Εργαστήριο Λειτουργικών Συστημάτων ΙΙ

Ζαχαρίας Μ. Κοντοπόδης Εργαστήριο Λειτουργικών Συστημάτων ΙΙ Διαφάνεια 1 η ΕΚΚΙΝΗΣΗ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ ΚΑΙ ΕΙΣΟΔΟΣ ΣΤΟ BIOS UITILITY Τν ζπλεζέζηεξν πιήθηξν γηα ηελ είζνδν ζην BIOS Utility είλαη ην πιήθηξν Del. Παξόια απηά δηαθνξεηηθνί θαηαζθεπαζηέο, ρξεζηκνπνηνύλ δηαθνξεηηθά

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

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

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

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

Αρχές Τεχνολογίας Λογισμικού Εργαστήριο

Αρχές Τεχνολογίας Λογισμικού Εργαστήριο Αρχές Τεχνολογίας Λογισμικού Εργαστήριο Κωδικός Μαθήματος: TP323 Ώρες Εργαστηρίου: 2/εβδομάδα (Διαφάνειες Νίκου Βιδάκη) 1 JAVA Inheritance Εβδομάδα Νο. 3 2 Προηγούμενο μάθημα (1/2) Τι είναι αντικείμενο?

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

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗ Προγραμματισμός H/Y-I. Περιζζόηερα για ηον έλεγτο προζπέλαζης και ηις μεθόδοσς Static

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗ Προγραμματισμός H/Y-I. Περιζζόηερα για ηον έλεγτο προζπέλαζης και ηις μεθόδοσς Static ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗ Προγραμματισμός H/Y-I Παναγιώηης Σθέηζος sfetsos@it.teithe.gr Περιζζόηερα για ηον έλεγτο προζπέλαζης και ηις μεθόδοσς Static Πξώηε δήισζε ζηελ ππνγξαθή (signature) κηαο

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

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

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

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

Τεκμηπίωζη Πποηύπων Σσεδίαζηρ ηηρ UML

Τεκμηπίωζη Πποηύπων Σσεδίαζηρ ηηρ UML Αλεξάνδπειο Τεσνολογικό Εκπαιδεςηικό Ίδπςμα Θεζζαλονίκηρ Τεκμηπίωζη Πποηύπων Σσεδίαζηρ ηηρ UML Τεο θνηηήηξηαο Μαξγαξίηε Θενδώξα Επηβιέπωλ θαζεγεηήο Ακπαηδόγινπ Απόζηνινο Κάζε πξόηππν πεξηγξάθεη έλα πξόβιεκα

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

Διδάσκων: Παναγιώτης Ανδρέου

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 12: Κληρονομικότητα (Inheritance) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Κληρονομικότητα και Επαναχρησιμοποίηση - Υποκλάσεις/Υπερκλάσεις - Απόκρυψη ονομάτων - Το super, protected

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

DOM. Γηδάζθνληεο: Π. Αγγειάηνο, Γ. Εήλδξνο Δπηκέιεηα δηαθαλεηώλ: Π. Αγγειάηνο. Σρνιή Ζιεθηξνιόγωλ Μεραληθώλ θαη Μεραληθώλ Υπνινγηζηώλ

DOM. Γηδάζθνληεο: Π. Αγγειάηνο, Γ. Εήλδξνο Δπηκέιεηα δηαθαλεηώλ: Π. Αγγειάηνο. Σρνιή Ζιεθηξνιόγωλ Μεραληθώλ θαη Μεραληθώλ Υπνινγηζηώλ DOM Γηδάζθνληεο: Π. Αγγειάηνο, Γ. Εήλδξνο Δπηκέιεηα δηαθαλεηώλ: Π. Αγγειάηνο Σρνιή Ζιεθηξνιόγωλ Μεραληθώλ θαη Μεραληθώλ Υπνινγηζηώλ Σηόρνο ηεο ώξαο Δμνηθείωζε κε ην DOM Γέληξν DOM: Γηάζρηζε Τξνπνπνίεζε

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

ΣΕΙ Δυτικήσ Μακεδονίασ, Παράρτημα Καςτοριάσ Τμήμα Πληροφορικήσ και Τεχνολογίασ Υπολογιςτών

ΣΕΙ Δυτικήσ Μακεδονίασ, Παράρτημα Καςτοριάσ Τμήμα Πληροφορικήσ και Τεχνολογίασ Υπολογιςτών τοιχεία του μαθήματοσ (ημζρα εβδομάδασ, ώρεσ, ζτοσ): ΣΕΙ Δυτικήσ Μακεδονίασ, Παράρτημα Καςτοριάσ Τμήμα Πληροφορικήσ και Τεχνολογίασ Υπολογιςτών Εργαςτηριακή ομάδα αςκήςεων 2 για το μάθημα «ΑΡΧΙΣΕΚΣΟΝΙΚΗ

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

Διδάσκων: Παναγιώτης Ανδρέου

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 7: Ενθυλάκωση (encapsulation), Τροποποιητές(modifiers) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Ενθυλάκωση -Τροποποιητές Πρόσβασης (Access Modifiers), public, protected, private,

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

ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ. Οξηδόληηα θαη θαηαθόξπθε κεηαηόπηζε παξαβνιήο

ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ. Οξηδόληηα θαη θαηαθόξπθε κεηαηόπηζε παξαβνιήο ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ Οξηδόληηα θαη θαηαθόξπθε κεηαηόπηζε παξαβνιήο 1 ε Δξαζηεξηόηεηα Αλνίμηε ην αξρείν «Μεηαηόπηζε παξαβνιήο.ggb». Με ηε καύξε γξακκή παξηζηάλεηαη ε γξαθηθή παξάζηαζε ηεο f(x)=αx 2 πνπ ζα ηελ

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

5. Ανασκόπηση αντικειμενοστραφούς προγραμματισμού

5. Ανασκόπηση αντικειμενοστραφούς προγραμματισμού 5. Ανασκόπηση αντικειμενοστραφούς προγραμματισμού Χειμερινό εξάμηνο 2013 Πέτρος Κωμοδρόμος komodromos@ucy.ac.cy http://www.eng.ucy.ac.cy/petros 1 Θέματα Αντικειμενοστραφής προγραμματισμός Τάξεις (classes)

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

Παλεπηζηήκην Παηξώλ ΟΝΣΟΚΕΝΣΡΙΚΟ ΠΡΟΓΡΑΜΜΑΣΙΜΟ ΙΙ (C++) Σάξειρ και Αθαίπεζη Δεδομένων. Σμήμα Μηχανικών Ηλεκηπονικών Τπολογιζηών και Πληποθοπικήρ

Παλεπηζηήκην Παηξώλ ΟΝΣΟΚΕΝΣΡΙΚΟ ΠΡΟΓΡΑΜΜΑΣΙΜΟ ΙΙ (C++) Σάξειρ και Αθαίπεζη Δεδομένων. Σμήμα Μηχανικών Ηλεκηπονικών Τπολογιζηών και Πληποθοπικήρ Παλεπηζηήκην Παηξώλ Σμήμα Μηχανικών Ηλεκηπονικών Τπολογιζηών και Πληποθοπικήρ ΟΝΣΟΚΕΝΣΡΙΚΟ ΠΡΟΓΡΑΜΜΑΣΙΜΟ ΙΙ (C++) Σάξειρ και Αθαίπεζη Δεδομένων 1 Τάμεηο Μέξνο ΙΙ 7.1 Ειζαγυγή 7.2 const Ανηικείμενα και

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

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

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

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

ΦΥΣΙΚΗ ΤΩΝ ΡΕΥΣΤΩΝ. G. Mitsou

ΦΥΣΙΚΗ ΤΩΝ ΡΕΥΣΤΩΝ. G. Mitsou ΦΥΣΙΚΗ ΤΩΝ ΡΕΥΣΤΩΝ ηαηηθή ηωλ ξεπζηώλ (Τδξνζηαηηθή) Ση είλαη ηα ξεπζηά - Γεληθά Ππθλόηεηα Πίεζε Μεηαβνιή ηεο πίεζεο ζπλαξηήζεη ηνπ βάζνπο Αξρή ηνπ Pascal Τδξνζηαηηθή πίεζε Αηκνζθαηξηθή πίεζε Απόιπηε &

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

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

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

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

8. Μέθοδοι (Methods)

8. Μέθοδοι (Methods) 8. Μέθοδοι (Methods) Χειμερινό εξάμηνο 2012 Πέτρος Κωμοδρόμος komodromos@ucy.ac.cy http://www.eng.ucy.ac.cy/petros 1 Θέματα Μέθοδοι που παρέχονται από τη τάξη Math του Java API Χρήση στατικών μεθόδων και

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

ΟΠΤΙΚΗ Α. ΑΝΑΚΛΑΣΖ - ΓΗΑΘΛΑΣΖ

ΟΠΤΙΚΗ Α. ΑΝΑΚΛΑΣΖ - ΓΗΑΘΛΑΣΖ ΟΠΤΙΚΗ Α. ΑΝΑΚΛΑΣΖ - ΓΗΑΘΛΑΣΖ. Μία αθηίλα θωηόο πξνζπίπηεη κε κία γωλία ζ ζηε επάλω επηθάλεηα ελόο θύβνπ από πνιπεζηέξα ν νπνίνο έρεη δείθηε δηάζιαζεο ε =,49 (ζρήκα ). Βξείηε πνηα ζα είλαη ε κέγηζηε γωλία

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

Αζκήζεις ζτ.βιβλίοσ ζελίδας 13 14

Αζκήζεις ζτ.βιβλίοσ ζελίδας 13 14 .1.10 ζκήζεις ζτ.βιβλίοσ ζελίδας 13 14 Ερωηήζεις Καηανόηζης 1. ύν δηαθνξεηηθέο επζείεο κπνξεί λα έρνπλ θαλέλα θνηλό ζεκείν Έλα θνηλό ζεκείν i ύν θνηλά ζεκεία iλ) Άπεηξα θνηλά ζεκεία ηηηνινγήζηε ηελ απάληεζε

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

Α Ο Κ Η Α Μ Α Ζ Η Η Ρ Η ( S E A R C H )

Α Ο Κ Η Α Μ Α Ζ Η Η Ρ Η ( S E A R C H ) Ξ G O O G L E S C H O L A R Α Ο Ξ Ε Κ Ε Θ Λ Θ Α Λ Η Τ Α Μ Η Α Μ Α Ζ Η Η Ρ Η Ρ Οξαγκαηνπνηώληαο αλαδήηεζε ζην GoogleScholar (http://scholar.google.com/) ν ρξήζηεο κπνξεί λα εληνπίζεη πιηθό αθαδεκαϊθνύ θαη

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

ΔΕΟ 13. Ποσοτικές Μέθοδοι. θαη λα ππνινγίζεηε ην θόζηνο γηα 10000 παξαγόκελα πξντόληα. Να ζρεδηαζηεί γηα εύξνο πξντόλησλ έσο 30000.

ΔΕΟ 13. Ποσοτικές Μέθοδοι. θαη λα ππνινγίζεηε ην θόζηνο γηα 10000 παξαγόκελα πξντόληα. Να ζρεδηαζηεί γηα εύξνο πξντόλησλ έσο 30000. ΔΕΟ 13 Ποσοτικές Μέθοδοι Σσνάρηηζη Κόζηοσς C(), μέζο κόζηος C()/. Παράδειγμα 1 Μηα εηαηξεία δαπαλά γηα θάζε πξντόλ Α πνπ παξάγεη 0.0 λ.κ. Τα πάγηα έμνδα ηεο εηαηξείαο είλαη 800 λ.κ. Ζεηείηαη 1) Να πεξηγξάςεηε

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

ΣΥΣΤΗΜΑΤΑ ΑΛΓΕΒΡΑ Α ΛΥΚΕΙΟΥ. 1. Να ιπζνύλ ηα ζπζηήκαηα. 1 0,3x 0,1y x 3 3x 4y 2 4x 2y ( x 1) 6( y 1) (i) (ii)

ΣΥΣΤΗΜΑΤΑ ΑΛΓΕΒΡΑ Α ΛΥΚΕΙΟΥ. 1. Να ιπζνύλ ηα ζπζηήκαηα. 1 0,3x 0,1y x 3 3x 4y 2 4x 2y ( x 1) 6( y 1) (i) (ii) . Να ιπζνύλ ηα ζπζηήκαηα.,, 6 4 4 4 5( ) 6( ). Να ιπζνύλ ηα ζπζηήκαηα.,,,6 7. Να ιπζνύλ ηα ζπζηήκαηα. 5 ( )( ) ( ) 4. Να ιπζνύλ ηα ζπζηήκαηα. 5 4 6 7 4. 5. Να ιπζνύλ ηα ζπζηήκαηα. 59 ( )( ) ()( 5) 7 6.

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

Τι θα δούμε σε αυτό το μάθημα;

Τι θα δούμε σε αυτό το μάθημα; Τι θα δούμε σε αυτό το μάθημα; Οξηζκόο κηαο θιάζεο σο ζπιινγήο ζπζρεηηδόκελσλ κεζόδσλ θαη πεδίσλ δεδνκέλσλ Έιεγρνο πξόζβαζεο κε ηελ ρξήζε πξνζδηνξηζηώλ πξόζβαζεο Γεκηνπξγία αληηθεηκέλσλ κε ηελ ρξήζε θαηαζθεπαζηώλ

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

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

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

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

TOOLBOOK (μάθημα 2) Δεκηνπξγία βηβιίνπ θαη ζειίδσλ ΠΡΟΑΡΜΟΓΗ: ΒΑΛΚΑΝΙΩΣΗ ΔΗΜ. ΕΚΠΑΙΔΕΤΣΙΚΟ ΠΕ19 1 TOOLBOOK ΜΑΘΗΜΑ 2

TOOLBOOK (μάθημα 2) Δεκηνπξγία βηβιίνπ θαη ζειίδσλ ΠΡΟΑΡΜΟΓΗ: ΒΑΛΚΑΝΙΩΣΗ ΔΗΜ. ΕΚΠΑΙΔΕΤΣΙΚΟ ΠΕ19 1 TOOLBOOK ΜΑΘΗΜΑ 2 TOOLBOOK (μάθημα 2) Δεκηνπξγία βηβιίνπ θαη ζειίδσλ ΕΚΠΑΙΔΕΤΣΙΚΟ ΠΕ19 1 Δημιουργία σελίδων και βιβλίων Έλα θαηλνύξην βηβιίν πεξηέρεη κία άδεηα ζειίδα κε έλα άδεην background. Δελ κπνξνύκε λα μερσξίζνπκε

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

x-1 x (x-1) x 5x 2. Να απινπνηεζνύλ ηα θιάζκαηα, έηζη ώζηε λα κελ ππάξρνπλ ξηδηθά ζηνπο 22, 55, 15, 42, 93, 10 5, 12

x-1 x (x-1) x 5x 2. Να απινπνηεζνύλ ηα θιάζκαηα, έηζη ώζηε λα κελ ππάξρνπλ ξηδηθά ζηνπο 22, 55, 15, 42, 93, 10 5, 12 ΑΚΖΔΗ ΤΜΝΑΗΟΤ - ΚΤΚΛΟ ΠΡΩΣΟ - - ηα πνηεο ηηκέο ηνπ ηα παξαθάησ θιάζκαηα δελ νξίδνληαη ; (Τπόδεημε : έλα θιάζκα νξίδεηαη αλ ν παξνλνκαζηήο είλαη δηάθνξνο ηνπ κεδελόο) - (-) - (-) - Να απινπνηεζνύλ ηα θιάζκαηα

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

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

ΑΠΛΟΠΟΙΗΗ ΛΟΓΙΚΩΝ ΤΝΑΡΣΗΕΩΝ ΜΕ ΠΙΝΑΚΕ KARNAUGH ΑΠΛΟΠΟΙΗΗ ΛΟΓΙΚΩΝ ΤΝΑΡΣΗΕΩΝ ΜΕ ΠΙΝΑΚΕ KRNUGH Γηα λα θάλνπκε απινπνίεζε κηαο ινγηθήο ζπλάξηεζεο κε πίλαθα (ή ράξηε) Karnaugh αθνινπζνύκε ηα παξαθάησ βήκαηα:. Η ινγηθή ζπλάξηεζε ζα πξέπεη λα είλαη ζε πιήξε

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

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου ΥΟΛΕΙΟ..

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου ΥΟΛΕΙΟ.. ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου έλαξμεο 09.30 ιήμεο 09.45 Σην παξαθάησ ζρήκα θαίλεηαη ηκήκα ελόο πνιενδνκηθνύ ζρεδίνπ κηαο πόιεο. Οη ζθηαζκέλεο

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

(Διαφάνειες Νίκου Βιδάκη)

(Διαφάνειες Νίκου Βιδάκη) (Διαφάνειες Νίκου Βιδάκη) JAVA Inheritance Εβδομάδα Νο. 3 2 Προηγούμενο μάθημα (1/2) Τι είναι αντικείμενο? Ανάλυση αντικειμένων Πραγματικά αντικείμενα Καταστάσεις Συμπεριφορές Αντικείμενα στον προγραμματισμό

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

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

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

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

Σήκαηα Β Α Γ Γ Δ Λ Η Σ Ο Ι Κ Ο Ν Ο Μ Ο Υ Γ Ι Α Λ Δ Ξ Η - ( 2 ) ΕΙΣΑΓΨΓΗ ΣΤΙΣ ΤΗΛΕΠΙΚΟΙΝΨΝΙΕΣ

Σήκαηα Β Α Γ Γ Δ Λ Η Σ Ο Ι Κ Ο Ν Ο Μ Ο Υ Γ Ι Α Λ Δ Ξ Η - ( 2 ) ΕΙΣΑΓΨΓΗ ΣΤΙΣ ΤΗΛΕΠΙΚΟΙΝΨΝΙΕΣ Σήκαηα 1 Β Α Γ Γ Δ Λ Η Σ Ο Ι Κ Ο Ν Ο Μ Ο Υ Γ Ι Α Λ Δ Ξ Η - ( 2 ) Σήκαηα Οξηζκόο ζήκαηνο Ταμηλόκεζε ζεκάησλ Σεηξέο Fourier Μεηαζρεκαηηζκόο Fourier Σπλέιημε Σπζρέηηζε θαη Φαζκαηηθή Ππθλόηεηα 2 Οξηζκόο Σήκαηνο

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

Δήλωση ακέραιων μεταβλητών. ροής με την στάνταρ είσοδο

Δήλωση ακέραιων μεταβλητών. ροής με την στάνταρ είσοδο Πανεπιστήμιο Πατρών Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙΙ (C++) Δομημένος Προγραμματισμός και Δομές Ελέγχου 1 Εισαγωγή Είσοδος/έξοδος Hello world: #include

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

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

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

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

ΜΑΘΗΜΑ / ΤΑΞΗ : ΗΛΕΚΤΡΟΛΟΓΙΑ/Γ ΛΥΚΕΙΟΥ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 08/09/2014

ΜΑΘΗΜΑ / ΤΑΞΗ : ΗΛΕΚΤΡΟΛΟΓΙΑ/Γ ΛΥΚΕΙΟΥ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 08/09/2014 ΔΙΑΓΩΝΙΣΜΑ ΕΚΠ. ΕΤΟΥΣ 204-205 ΜΑΘΗΜΑ / ΤΑΞΗ : ΗΛΕΚΤΡΟΛΟΓΙΑ/Γ ΛΥΚΕΙΟΥ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 08/09/204 A ΟΜΑΓΑ Οδηγία: Να γράυεηε ζηο ηεηράδιο ζας ηον αριθμό κάθε μιας από ηις παρακάηφ ερφηήζεις Α.-Α.8 και

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

x x x x tan(2 x) x 2 2x x 1

x x x x tan(2 x) x 2 2x x 1 ΘΕΡΙΝΟ ΣΜΗΜΑ ΜΑΘΗΜΑΣΙΚΑ Ι ΕΠΑΝΑΛΗΠΣΙΚΕ ΑΚΗΕΙ ΜΕΡΟ Ι 1. Να γίλνπλ νη γξαθηθέο παξαζηάζεηο ησλ παξαθάησ ζπλαξηήζεσλ. t ( i) e ( ii) ln( ) ( iii). Να βξεζεί ην Π.Ο., ν ηύπνο ηεο αλίζηξνθεο θαη ην Π.Τ. ησλ

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

Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language)

Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) 1 Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) ηµήτριος Κατσαρός, Ph.D. Χειµώνας 2005 ιάλεξη 9η 2 Ιστοσελίδα του µαθήµατος http://skyblue.csd.auth.gr/~dimitris/courses/cpp_fall05.htm Θα

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

H ΜΑΓΕΙΑ ΤΩΝ ΑΡΙΘΜΩΝ

H ΜΑΓΕΙΑ ΤΩΝ ΑΡΙΘΜΩΝ H ΜΑΓΕΙΑ ΤΩΝ ΑΡΙΘΜΩΝ Φξεζηκόηεηα καζεκαηηθώλ Αξρή θαηακέηξεζεο Όζα έδσζαλ νη Έιιελεο... Τξίγσλνη αξηζκνί Τεηξάγσλνη αξηζκνί Δπηκήθεηο αξηζκνί Πξώηνη αξηζκνί Αξηζκνί κε μερσξηζηέο ηδηόηεηεο Γίδπκνη πξώηνη

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

Α. Εηζαγσγή ηεο έλλνηαο ηεο ηξηγσλνκεηξηθήο εμίζσζεο κε αξρηθό παξάδεηγκα ηελ εκx = 2

Α. Εηζαγσγή ηεο έλλνηαο ηεο ηξηγσλνκεηξηθήο εμίζσζεο κε αξρηθό παξάδεηγκα ηελ εκx = 2 ΣΡΙΓΩΝΟΜΔΣΡΙΚΔ EΞΙΩΔΙ Πνηα παξαδείγκαηα εμηζώζεσλ ή θαη πξνβιεκάησλ πηζηεύεηαη όηη είλαη θαηάιιεια γηα ηελ επίιπζε ηνπο θαηά ηελ δηάξθεηα ηεο δηδαθηηθήο δηαδηθαζίαο κέζα ζηελ ηάμε; 1 ε ΓΙΓΑΚΣΙΚΗ ΩΡΑ Α.

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

Φςζική Πποζαναηολιζμού Γ Λςκείος. Αζκήζειρ Ταλανηώζειρ 1 ο Φςλλάδιο

Φςζική Πποζαναηολιζμού Γ Λςκείος. Αζκήζειρ Ταλανηώζειρ 1 ο Φςλλάδιο Φςζική Πποζαναηολιζμού Γ Λςκείος Αζκήζειρ Ταλανηώζειρ 1 ο Φςλλάδιο Επιμέλεια: Αγκανάκηρ Α. Παναγιώηηρ Επωηήζειρ Σωζηό- Λάθορ Να χαπακηηπίζεηε ηιρ παπακάηω πποηάζειρ ωρ ζωζηέρ ή λάθορ: 1. Η ηαιάλησζε είλαη

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

Η επιζκόπηζη ηης έμμιζθης ενηολής ζηην Αλλοδαπή. Καηεξίλα Γαιαλνπνύινπ, Intellectual Property Manager, Microsoft Ειιάο Α.Ε.

Η επιζκόπηζη ηης έμμιζθης ενηολής ζηην Αλλοδαπή. Καηεξίλα Γαιαλνπνύινπ, Intellectual Property Manager, Microsoft Ειιάο Α.Ε. Η επιζκόπηζη ηης έμμιζθης ενηολής ζηην Αλλοδαπή Καηεξίλα Γαιαλνπνύινπ, Intellectual Property Manager, Microsoft Ειιάο Α.Ε. Παξάκεηξνη πξνο αμηνιόγεζε Ννκνζεηηθή ζσξάθηζε Κνηλόο Σύιινγνο Ακνηβή Καηαγγειία/Λύζε

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

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

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

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

Hellas online Προεπιλεγμένες ρσθμίσεις για FritzBox Fon WLAN 7140 (Annex B) 30.04.67 FritzBox Fon WLAN 7140 - Annex B (30.04.67)

Hellas online Προεπιλεγμένες ρσθμίσεις για FritzBox Fon WLAN 7140 (Annex B) 30.04.67 FritzBox Fon WLAN 7140 - Annex B (30.04.67) Hellas online Προεπιλεγμένες ρσθμίσεις για FritzBox Fon WLAN 7140 (Annex B) 30.04.67 FritzBox Fon WLAN 7140 - Annex B (30.04.67) Γηα λα επαλαθέξεηε ην FritzBox Fon WLAN 7140 ζηηο πξνεπηιεγκέλεο ηνπ ξπζκίζεηο

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

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΣΗΜΑΤΩΝ & ΣΥΣΤΗΜΑΤΩΝ. ΜΕΤΑΣΦΗΜΑΤΙΣΜΟΣ Laplace

ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΣΗΜΑΤΩΝ & ΣΥΣΤΗΜΑΤΩΝ. ΜΕΤΑΣΦΗΜΑΤΙΣΜΟΣ Laplace ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΣΗΜΑΤΩΝ & ΣΥΣΤΗΜΑΤΩΝ ΜΕΤΑΣΦΗΜΑΤΙΣΜΟΣ Laplac Δηεπξύλεη ηε θιάζε ηωλ ζεκάηωλ γηα ηα νπνία κπνξεί λα επηηεπρζεί ε κεηάβαζε από ην πεδίν ηνπ ρξόλνπ ζην πεδίν ηεο ζπρλόηεηαο. Παξέρεη ηε

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

Άμεσοι Αλγόριθμοι: Προσπέλαση Λίστας (list access)

Άμεσοι Αλγόριθμοι: Προσπέλαση Λίστας (list access) Έρνπκε απνζεθεύζεη κηα ζπιινγή αξρείσλ ζε κηα ζπλδεδεκέλε ιίζηα, όπνπ θάζε αξρείν έρεη κηα εηηθέηα ηαπηνπνίεζεο. Μηα εθαξκνγή παξάγεη κηα αθνινπζία από αηηήκαηα πξόζβαζεο ζηα αξρεία ηεο ιίζηαο. Γηα λα

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

Κινητός και Διάχυτος Υπολογισμός (Mobile & Pervasive Computing)

Κινητός και Διάχυτος Υπολογισμός (Mobile & Pervasive Computing) 1 Κινητός και Διάχυτος Υπολογισμός (Mobile & Pervasive Computing) Δημήτπιορ Κατσαπόρ Χεηκώλαο 2016 Διάλεξη 3η 2 Περιεχόμενα Αξρηηεθηνληθή θηλεηνύ δηθηύνπ Αζύκκεηξν πεξηβάιινλ επηθνηλωλίαο κε Αλνδηθό Καλάιη

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

Παλεπηζηήκην Παηξώλ ΟΝΣΟΚΕΝΣΡΙΚΟ ΠΡΟΓΡΑΜΜΑΣΙΜΟ ΙΙ (C++) Σάξειρ και Αθαίπεζη Δεδομένων. Σμήμα Μηχανικών Ηλεκηπονικών Τπολογιζηών και Πληποθοπικήρ

Παλεπηζηήκην Παηξώλ ΟΝΣΟΚΕΝΣΡΙΚΟ ΠΡΟΓΡΑΜΜΑΣΙΜΟ ΙΙ (C++) Σάξειρ και Αθαίπεζη Δεδομένων. Σμήμα Μηχανικών Ηλεκηπονικών Τπολογιζηών και Πληποθοπικήρ Παλεπηζηήκην Παηξώλ Σμήμα Μηχανικών Ηλεκηπονικών Τπολογιζηών και Πληποθοπικήρ ΟΝΣΟΚΕΝΣΡΙΚΟ ΠΡΟΓΡΑΜΜΑΣΙΜΟ ΙΙ (C++) Σάξειρ και Αθαίπεζη Δεδομένων 1 6.1 Εηζαγωγή 6.2 Οξηζκόο δνκώλ - Structure 6.3 Πξνζπέιαζε

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

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

ΥΛΙΚΑ ΠΑΡΟΝ ΚΑΙ ΜΕΛΛΟΝ ΠΑΝΕΠΙΣΗΜΙΟ ΚΡΗΣΗ ΣΜΗΜΑ ΕΠΙΣΗΜΗ ΚΑΙ ΣΕΧΝΟΛΟΓΙΑ ΤΛΙΚΩΝ ΥΛΙΚΑ ΠΑΡΟΝ ΚΑΙ ΜΕΛΛΟΝ Ι ΠΑΝΕΠΙΣΗΜΙΟ ΚΡΗΣΗ ΣΜΗΜΑ ΕΠΙΣΗΜΗ ΚΑΙ ΣΕΧΝΟΛΟΓΙΑ ΤΛΙΚΩΝ Άδειεσ Χρήςησ -Το παρόν εκπαιδευτικό υλικό υπόκειται ςτην άδεια χρήςησ Creative Commons και ειδικότερα Αναφορά - Μη εμπορική

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

ΗΥ150a Φροντιστήριο 4 08/12/2017

ΗΥ150a Φροντιστήριο 4 08/12/2017 ΗΥ150a Φροντιστήριο 4 08/12/2017 Outline Classes Member Functions Constructor Overloading Access specifiers Encapsulation Inheritance Polymorphism Vectors 1 Classes Classes in C++ are like structs, except

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

ΣΤΟΙΧΕΙΑ ΤΗΣ ΓΛΩΣΣΑΣ 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

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

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

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

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

Διαφορές μεταξύ αξιών και αναφορών #1

Διαφορές μεταξύ αξιών και αναφορών #1 Τι θα δούμε σε αυτό το μάθημα; Επεμήγεζε θαη δηαθνξέο κεηαμύ ηύπσλ πνπ αληηπξνζσπεύνπλ αμίεο (values) θαη ηύπσλ πνπ αληηπξνζσπεύνπλ αλαθνξέο (references). Πέξαζκα παξακέηξσλ ζε κεζόδνπο θαη ηξνπνπνίεζε

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

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

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

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

ΠΑΝΔΛΛΑΓΗΚΔ ΔΞΔΣΑΔΗ Γ ΣΑΞΖ ΖΜΔΡΖΗΟΤ ΓΔΝΗΚΟΤ ΛΤΚΔΗΟΤ Γευηέρα 11 Ηουνίου 2018 ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΠΡΟΑΝΑΣΟΛΗΜΟΤ. (Ενδεικηικές Απανηήζεις)

ΠΑΝΔΛΛΑΓΗΚΔ ΔΞΔΣΑΔΗ Γ ΣΑΞΖ ΖΜΔΡΖΗΟΤ ΓΔΝΗΚΟΤ ΛΤΚΔΗΟΤ Γευηέρα 11 Ηουνίου 2018 ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΠΡΟΑΝΑΣΟΛΗΜΟΤ. (Ενδεικηικές Απανηήζεις) ΠΑΝΔΛΛΑΓΗΚΔ ΔΞΔΣΑΔΗ Γ ΣΑΞΖ ΖΜΔΡΖΗΟΤ ΓΔΝΗΚΟΤ ΛΤΚΔΗΟΤ Γευηέρα Ηουνίου 08 ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΠΡΟΑΝΑΣΟΛΗΜΟΤ (Ενδεικηικές Απανηήζεις) ΘΔΜΑ Α Α. Απόδεημε ζεωξήκαηνο ζει. 99 ζρνιηθνύ βηβιίνπ. Α. α.

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

Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) Ιστοσελίδα του µαθήµατος. Περιεχόµενα. ηµήτριος Κατσαρός, Ph.D.

Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) Ιστοσελίδα του µαθήµατος. Περιεχόµενα. ηµήτριος Κατσαρός, Ph.D. 1 Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) ηµήτριος Κατσαρός, Ph.D. Χειµώνας 2005 ιάλεξη 9η Ιστοσελίδα του µαθήµατος 2 http://skyblue.csd.auth.gr/~dimitris/courses/cpp_fall05.htm Θα

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

ΒΗΜΑ 2. Εηζάγεηε ηνλ Κωδηθό Πξόζβαζεο πνπ ιακβάλεηε κε SMS & δειώλεηε επηζπκεηό Όλνκα Πξόζβαζεο (Username) θαη ην ζαο

ΒΗΜΑ 2. Εηζάγεηε ηνλ Κωδηθό Πξόζβαζεο πνπ ιακβάλεηε κε SMS & δειώλεηε επηζπκεηό Όλνκα Πξόζβαζεο (Username) θαη ην  ζαο Δίζνδνο ζηελ Υπεξεζία Αλ είζηε ήδε εγγεγξακκέλνο ρξήζηεο ζηελ ππεξεζία, γηα ηελ είζνδν ζαο (login) ζηελ ππεξεζία e-bill, εηζάγεηαη ην Όλνκα Φξήζηε (username) θαη ηνλ Κωδηθό Πξόζβαζεο (password) πνπ είραηε

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

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

Αντικειμενοστρεφής Προγραμματισμός Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Αντικειμενοστρεφής Προγραμματισμός 23/4/2018 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Υπερφόρτωση μεθόδων Υπερφόρτωση μεθόδων Πολλαπλές

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