cpp:classes
This is an old revision of the document!
Κλάσεις και Αντικείμενα
Όπως και στη Java οι κλάσεις στη C++ δημιουργούν νέους τύπους δεδομένων. Παρακάτω δίνεται ένα παράδειγμα δήλωσης της κλάσης Rectangle με παράλληλη δημιουργία ενός αντικειμένου της κλάσης αυτής.
- Rectangle.cpp
#include <iostream> using namespace std; class Rectangle { private: int width, height; public: void set_values (int,int); int area() {return width*height;} }; void Rectangle::set_values (int x, int y) { width = x; height = y; } int main () { Rectangle rect; rect.set_values(3,4); cout << "area: " << rect.area(); return 0; }
Από τον παραπάνω κώδικα παρατηρούμε τα εξής:
- Σε αναλογία με την Java οι κλάσεις περιέχουν πεδία και συναρτήσεις(μεθόδους).
- Οποιαδήποτε μέθοδος μπορεί να οριστεί ολόκληρη μέσα στη δήλωση της κλάσης ή να ορίσει μόνο το πρότυπο της μέσα στη δήλωση της κλάσης και η υλοποίηση της εκτός της κλάσης. Η υλοποίηση της μεθόδου εκτός της κλάσης γίνεται με χρήση του τελεστή
::
(scope operator). Δηλώνοντας την υλοποίηση της μεθόδου μέσα στην κλάση είναι ισοδύναμο με το να την δηλώσετε έξω από την κλάση ως inline μέθοδο. - Μπορούμε να περιορίσουμε την προσβασιμότητα των πεδίων και των μεθόδων μίας κλάσης με χρήση προσδιοριστών πρόσβασης.
- Τα πεδία και οι μέθοδοι ενός αντικειμένου είναι προσβάσιμα με χρήση του τελεστή
.
ως εξής:<αντικείμενο>.<πεδίο ή μέθοδος>
(για παράδειγμαrect.set_values(3,4)
; - Στην παραπάνω κλάση δεν ορίζεται κατασκευαστής. Η δήλωση
Rect rect;
ισοδυναμεί με την δημιουργία ενός αντικειμένου με χρήση του default κατασκευαστή.
cpp/classes.1491982494.txt.gz · Last modified: 2017/04/12 06:34 (external edit)