User Tools

Site Tools


cpp:classes

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
Next revisionBoth sides next revision
cpp:classes [2017/04/10 12:54] – created gthanoscpp:classes [2017/04/12 07:55] gthanos
Line 1: Line 1:
 ====== Κλάσεις και Αντικείμενα ====== ====== Κλάσεις και Αντικείμενα ======
  
-Όπως και στη Java οι κλάσεις στη C++ δημιουργούν νέους τύπους δεδομένων. Παρακάτω δίνεται ένα παράδειγμα δήλωσης της κλάσης //Rectangle// με παράλληλη δημιουργία ενός αντικειμένου της κλάσης αυτής.+Όπως και στη Java οι κλάσεις στη C++ δημιουργούν νέους τύπους δεδομένων. Παρακάτω δίνεται το παράδειγμα της κλάσης //Rectangle// με παράλληλη δημιουργία ενός αντικειμένου της κλάσης αυτής.
  
 <code c++ Rectangle.cpp> <code c++ Rectangle.cpp>
Line 11: Line 11:
     int width, height;     int width, height;
   public:   public:
-    void set_values (int,int); +    void setWidth(int w); 
-    int area() {return width*height;}+    void setHeight(int h); 
 +    int getWidth(); 
 +    int getHeight();
 }; };
  
-void Rectangle::set_values (int x, int y) { +void Rectangle::setWidth(int w) { width = w} 
-  width = x+void Rectangle::setHeight(int h) { height = h} 
-  height = y+int Rectangle::getWidth() { return width; } 
-}+int Rectangle::getHeight() { return height; }
  
 int main () { int main () {
   Rectangle rect;   Rectangle rect;
-  rect.set_values (3,4); +  rect.setWidth(5); 
-  cout << "area: " << rect.area();+  rect.setHeight(6); 
 +  cout << "area: " << rect.getWidth() * rect.getHeight() << endl;
   return 0;   return 0;
 } }
 </code> </code>
  
-Από τον παραπάνω κώδικα παρατηρούμε τα εξής: +Η παραπάνω κλάση διαθέτει τα πεδία τύπου //int widthheight// και τις μεθόδους  
-  - Σε αναλογία με την Java οι κλάσεις περιέχουν πεδία και μεθόδους. +
-  - Μία μέθοδος μπορεί να ορίστεί ολόκληρη μέσα στη δήλωση της κλάσης ή να ορίσει μόνο το prototype μέσα στη δήλωση της κλάσης και τη υλοποιήση της εκτός της κλάσης. Η υλοποίηση της μεθόδου εκτός της κλάσης γίνεται με χρήση του τελεστή ''::'' (δες ''void Rectangle::set_values (int xint y)''). +
-  - Μπορούμε να περιορίσουμε την προσβασιμότητα των πεδίων και των μεθόδων μίας κλάσης με χρήση //προσδιοριστών πρόσβασης//.+
  
cpp/classes.txt · Last modified: 2021/05/06 23:01 (external edit)