User Tools

Site Tools


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

Από τον παραπάνω κώδικα παρατηρούμε τα εξής:

  1. Σε αναλογία με την Java οι κλάσεις περιέχουν πεδία και μεθόδους.
  2. Μία μέθοδος μπορεί να ορίστεί ολόκληρη μέσα στη δήλωση της κλάσης ή να ορίσει μόνο το prototype μέσα στη δήλωση της κλάσης και τη υλοποιήση της εκτός της κλάσης. Η υλοποίηση της μεθόδου εκτός της κλάσης γίνεται με χρήση του τελεστή :: (δες void Rectangle::set_values (int x, int y)).
  3. Μπορούμε να περιορίσουμε την προσβασιμότητα των πεδίων και των μεθόδων μίας κλάσης με χρήση προσδιοριστών πρόσβασης.
cpp/classes.1491828858.txt.gz · Last modified: 2017/04/10 11:54 (external edit)