cpp:operator_overloading
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
cpp:operator_overloading [2017/05/04 14:33] – gthanos | cpp:operator_overloading [2019/05/16 06:27] – gthanos | ||
---|---|---|---|
Line 79: | Line 79: | ||
<WRAP info 80% center round> | <WRAP info 80% center round> | ||
- | Οι τελεστές μπορούν να κατηγοριοποιηθούν σε δύο βασικές κατηγορίες, | + | Οι τελεστές μπορούν να κατηγοριοποιηθούν σε δύο βασικές κατηγορίες, |
- | Δυαδικοί τελεστές είναι εκείνοι που έχουν δύο | + | Οι παράμετροι των τελεστών στο εξής θα καλούνται τελεστέοι. |
- | Τόσο οι μοναδιαίοι τελεστές όσο και οι δυαδικοί τελεστές είναι δυνατόν να μεταβάλλουν ή να μη μεταβάλλουν το αντικείμενο στο οποίο εφαρμόζονται. | + | // |
+ | |||
+ | Τόσο οι //μοναδιαίοι// τελεστές όσο και οι //δυαδικοί// τελεστές είναι δυνατόν να μεταβάλλουν ή να μη μεταβάλλουν το αντικείμενο στο οποίο εφαρμόζονται. | ||
</ | </ | ||
Οι συναρτήσεις υπερφόρτωσης χωρίζονται σε δύο βασικές κατηγορίες **//α)//** μέλη της κλάσης και **//β)//** φιλικές συναρτήσεις. Για κάθε μία από τις παραπάνω δύο κατηγορίες ισχύουν τα εξής: | Οι συναρτήσεις υπερφόρτωσης χωρίζονται σε δύο βασικές κατηγορίες **//α)//** μέλη της κλάσης και **//β)//** φιλικές συναρτήσεις. Για κάθε μία από τις παραπάνω δύο κατηγορίες ισχύουν τα εξής: | ||
* **μέλη της κλάσης: | * **μέλη της κλάσης: | ||
- | * Για μοναδιαίους τελεστές οι συναρτήσεις μέλη θεωρούν ο τελεστέος είναι το αντικείμενο που ανήκει η συνάρτηση. Συνήθως οι μοναδιαίοι τελεστές δεν έχουν ορίσματα. Εξαίρεση αποτελούν οι τελεστές αύξησης ή μείωσης κατά ένα (%%++ ή --%%) όταν αυτοί εφαρμόζονται στα δεξιά του αντικειμένου (//postfix increment/ | + | * Για μοναδιαίους τελεστές οι συναρτήσεις μέλη θεωρούν ο τελεστέος είναι το αντικείμενο στο |
- | * Για δυαδικούς τελεστές οι συναρτήσεις υπερφόρτωσης θεωρούν ότι ο αριστερός τελεστέος είναι το αντικείμενο στο οποίο ανήκει η συνάρτηση και ο δεξιός τελεστέος δίνεται ως παράμετρος. | + | * Για δυαδικούς τελεστές οι συναρτήσεις υπερφόρτωσης θεωρούν ότι ο αριστερός τελεστέος είναι το αντικείμενο στο οποίο ανήκει η συνάρτηση και ο δεξιός τελεστέος δίνεται ως η μοναδική |
* **φιλικές συναρτήσεις της κλάσης: | * **φιλικές συναρτήσεις της κλάσης: | ||
- | * Για μοναδιαίους τελεστές οι φιλικές συναρτήσεις θεωρούν ότι ο τελεστέος είναι το μοναδικό όρισμα της συνάρτησης. Εξαίρεση αποτελούν οι τελεστές αύξησης ή μείωσης κατά ένα (%%++ ή --%%) όταν αυτοί εφαρμόζονται στα δεξιά του αντικειμένου (//postfix increment/ | + | * Για μοναδιαίους τελεστές οι φιλικές συναρτήσεις θεωρούν ότι ο τελεστέος είναι το μοναδικό όρισμα της συνάρτησης. Εξαίρεση αποτελούν οι τελεστές αύξησης ή μείωσης κατά ένα (%%++ ή --%%) όταν αυτοί εφαρμόζονται στα δεξιά του αντικειμένου (//postfix increment/ |
- | * Για δυαδικούς τελεστές οι φιλικές συναρτήσεις υπερφόρτωσης | + | * Για δυαδικούς τελεστές οι φιλικές συναρτήσεις υπερφόρτωσης |
- | + | ||
Ο παρακάτω πίνακας δίνει τη μορφή της συνάρτησης υπερφόρτωσης για τους τελεστές που είναι διαθέσιμοι προς υπεφόρτωση. Αντικαταστήστε τον χαρακτήρα '' | Ο παρακάτω πίνακας δίνει τη μορφή της συνάρτησης υπερφόρτωσης για τους τελεστές που είναι διαθέσιμοι προς υπεφόρτωση. Αντικαταστήστε τον χαρακτήρα '' | ||
- | ^ Έκφραση | + | ^ Έκφραση |
| @a | %%+ - * & ! ~ ++ --%% | A:: | | @a | %%+ - * & ! ~ ++ --%% | A:: | ||
| a@ | %%++ --%% | A:: | | a@ | %%++ --%% | A:: |
cpp/operator_overloading.txt · Last modified: 2021/05/24 06:28 (external edit)