Customize Consent Preferences

We use cookies to help you navigate efficiently and perform certain functions. You will find detailed information about all cookies under each consent category below.

The cookies that are categorized as "Necessary" are stored on your browser as they are essential for enabling the basic functionalities of the site. ... 

Always Active

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

No cookies to display.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

No cookies to display.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

No cookies to display.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

No cookies to display.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

No cookies to display.

6.3 Μέθοδοι Κλάσεων στη γλώσσα C++

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

Για παράδειγμα, ένας κώδικας που δηλώνει και ορίζει μια μέθοδο κλάσης στη C++ μπορεί να φαίνεται ως εξής:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
class MyClass {
public:
// Μέθοδος που προσθέτει δύο ακέραιους αριθμούς
int myMethod(int a, int b) {
int result = a + b;
return result;
}
};
int main() {
MyClass obj;
int sum = obj.myMethod(5, 3); // Κλήση της μεθόδου myMethod με ορίσματα 5 και 3
cout << "Sum: " << sum << endl; // Εκτύπωση του αποτελέσματος
return 0;
}
class MyClass { public: // Μέθοδος που προσθέτει δύο ακέραιους αριθμούς int myMethod(int a, int b) { int result = a + b; return result; } }; int main() { MyClass obj; int sum = obj.myMethod(5, 3); // Κλήση της μεθόδου myMethod με ορίσματα 5 και 3 cout << "Sum: " << sum << endl; // Εκτύπωση του αποτελέσματος return 0; }
class MyClass {
  public:
    // Μέθοδος που προσθέτει δύο ακέραιους αριθμούς
    int myMethod(int a, int b) {
        int result = a + b;
        return result;
    }
};

int main() {
  MyClass obj;
  int sum = obj.myMethod(5, 3); // Κλήση της μεθόδου myMethod με ορίσματα 5 και 3
  cout << "Sum: " << sum << endl; // Εκτύπωση του αποτελέσματος
  return 0;
}

Στο παραπάνω παράδειγμα, η κλάση MyClass έχει μια μέθοδο με το όνομα myMethod, η οποία παίρνει δύο ακέραιες παραμέτρους και επιστρέφει έναν ακέραιο. Ο ορισμός της μεθόδου περιέχει τον υπολογισμό της αθροιστικής τους άθροισης και την επιστροφή του αποτελέσματος. Στη συνέχεια, στη συνάρτηση main, δημιουργείται ένα αντικείμενο της κλάσης MyClass με το όνομα obj, και η μέθοδος myMethod καλείται πάνω σε αυτό το αντικείμενο για να υπολογίσει το άθροισμα των αριθμών 5 και 3. Το αποτέλεσμα εκτυπώνεται στην οθόνη.

[adinserter block=”2″]

Για να ορίσουμε μια συνάρτηση μέσα στην κλάση, μπορούμε να χρησιμοποιήσουμε την ακόλουθη σύνταξη:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
class MyClass {
public:
returnType functionName(parameters) {
// Σώμα της συνάρτησης
}
};
class MyClass { public: returnType functionName(parameters) { // Σώμα της συνάρτησης } };
class MyClass {
  public:
    returnType functionName(parameters) {
      // Σώμα της συνάρτησης
    }
};

Εδώ, η συνάρτηση functionName είναι μια μέθοδος που ανήκει στην κλάση MyClass. Μπορούμε να έχουμε πρόσβαση σε αυτήν τη μέθοδο χρησιμοποιώντας ένα αντικείμενο της κλάσης MyClass και τη σύνταξη τελείας (.):

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
MyClass obj;
obj.functionName(arguments);
MyClass obj; obj.functionName(arguments);
MyClass obj;
obj.functionName(arguments);

Με αυτόν τον τρόπο, μπορούμε να καλέσουμε τη συνάρτηση functionName για το αντικείμενο obj.

Επίσης, μπορούμε να ορίσουμε συναρτήσεις έξω από τον ορισμό της κλάσης, χρησιμοποιώντας την ακόλουθη σύνταξη:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
returnType ClassName::functionName(parameters) {
// Σώμα της συνάρτησης
}
returnType ClassName::functionName(parameters) { // Σώμα της συνάρτησης }
returnType ClassName::functionName(parameters) {
  // Σώμα της συνάρτησης
}

Εδώ, ClassName είναι το όνομα της κλάσης στην οποία ανήκει η συνάρτηση. Με αυτόν τον τρόπο, μπορούμε να ορίσουμε μια συνάρτηση που ανήκει σε μια κλάση εκτός από τον ορισμό της κλάσης.

Παράδειγμα:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
class MyClass {
public:
int myMethod(int a, int b) {
// Προσθήκη των παραμέτρων a και b
int result = a + b;
return result;
}
};
int main() {
// Δημιουργία αντικειμένου της κλάσης MyClass
MyClass obj;
// Κλήση της μεθόδου myMethod μέσω του αντικειμένου obj
// Περνάμε τις τιμές 5 και 3 ως παράμετρους
int sum = obj.myMethod(5, 3);
// Εκτύπωση του αποτελέσματος
cout << "Sum: " << sum << endl;
return 0;
}
class MyClass { public: int myMethod(int a, int b) { // Προσθήκη των παραμέτρων a και b int result = a + b; return result; } }; int main() { // Δημιουργία αντικειμένου της κλάσης MyClass MyClass obj; // Κλήση της μεθόδου myMethod μέσω του αντικειμένου obj // Περνάμε τις τιμές 5 και 3 ως παράμετρους int sum = obj.myMethod(5, 3); // Εκτύπωση του αποτελέσματος cout << "Sum: " << sum << endl; return 0; }
class MyClass {
  public:
    int myMethod(int a, int b) {
        // Προσθήκη των παραμέτρων a και b
        int result = a + b;
        return result;
    }
};

int main() {
  // Δημιουργία αντικειμένου της κλάσης MyClass
  MyClass obj;
  
  // Κλήση της μεθόδου myMethod μέσω του αντικειμένου obj
  // Περνάμε τις τιμές 5 και 3 ως παράμετρους
  int sum = obj.myMethod(5, 3);
  
  // Εκτύπωση του αποτελέσματος
  cout << "Sum: " << sum << endl;
  
  return 0;
}

Σε αυτό το παράδειγμα, ορίζουμε τη μέθοδο myMethod μέσα στην κλάση MyClass. Έπειτα, δημιουργούμε ένα αντικείμενο obj της κλάσης MyClass και καλούμε τη μέθοδο myMethod για να πραγματοποιήσουμε την πρόσθεση. Το αποτέλεσμα εκτυπώνεται στην οθόνη.

Μπορείτε επίσης να προσθέσετε παραμέτρους στις μεθόδους της κλάσης:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
#include <iostream>
using namespace std;
class MyClass { // Ορίζουμε την κλάση
public: // Δημόσια χαρακτηριστικά
void myMethod(string fname, int age) { // Ορίζουμε μια μέθοδο με παραμέτρους
cout << fname << " is " << age << " years old."; // Εκτύπωση του ονόματος και της ηλικίας
}
};
int main() {
MyClass myObj; // Δημιουργούμε ένα αντικείμενο της κλάσης
myObj.myMethod("John", 30); // Καλούμε τη μέθοδο με τη σύνταξη τελείας και τις παραμέτρους
return 0;
}
#include <iostream> using namespace std; class MyClass { // Ορίζουμε την κλάση public: // Δημόσια χαρακτηριστικά void myMethod(string fname, int age) { // Ορίζουμε μια μέθοδο με παραμέτρους cout << fname << " is " << age << " years old."; // Εκτύπωση του ονόματος και της ηλικίας } }; int main() { MyClass myObj; // Δημιουργούμε ένα αντικείμενο της κλάσης myObj.myMethod("John", 30); // Καλούμε τη μέθοδο με τη σύνταξη τελείας και τις παραμέτρους return 0; }
#include <iostream>
using namespace std;

class MyClass {        // Ορίζουμε την κλάση
  public:              // Δημόσια χαρακτηριστικά
    void myMethod(string fname, int age) {  // Ορίζουμε μια μέθοδο με παραμέτρους
      cout << fname << " is " << age << " years old."; // Εκτύπωση του ονόματος και της ηλικίας
    }
};

int main() {
  MyClass myObj;     // Δημιουργούμε ένα αντικείμενο της κλάσης
  myObj.myMethod("John", 30);  // Καλούμε τη μέθοδο με τη σύνταξη τελείας και τις παραμέτρους

  return 0;
}

Ο παραπάνω κώδικας σε C++ δημιουργεί μια κλάση με το όνομα “MyClass” που περιέχει μια μέθοδο με το όνομα “myMethod”. Η μέθοδος αυτή δέχεται δύο παραμέτρους: ένα αλφαριθμητικό (string) με όνομα “fname” και έναν ακέραιο αριθμό (integer) με όνομα “age”.

Στην συνέχεια, ο κώδικας δημιουργεί ένα αντικείμενο της κλάσης “MyClass” με το όνομα “myObj”. Καλείται η μέθοδος “myMethod” του αντικειμένου “myObj” με τις παραμέτρους “John” και 30. Η μέθοδος εκτυπώνει το όνομα και την ηλικία στην οθόνη.

Συνολικά, ο κώδικας εμφανίζει το μήνυμα “John is 30 years old.” στην έξοδο του προγράμματος.

26 Ιουνίου, 2023
top
error: Content is protected !!
Μετάβαση σε γραμμή εργαλείων