cpp:vector_overloading_binary_operators
This is an old revision of the document!
Υπερφόρτωση δυαδικών τελεστών που δεν μεταβάλλουν τον αριστερό τελεστέο (binary operators overloading)
Παρακάτω θα δούμε την υπερφόρτωση τελεστών που δεν μεταβάλλουν τον αριστερό τελεστέο. Οι τελεστές περιγράφονται στον παρακάτω πίνακα.
Τελεστής | Αριστερός τελεστέος | Δεξιός τελεστέος | Περιγραφή | Φιλική μέθοδος |
---|---|---|---|---|
+ | Vector | Vector | Επιστρέφει ένα νέο αντικείμενο τύπου Vector που κάθε στοιχείο του προκύπτει από το άθροισμα των στοιχείων των δύο τελεστεών τύπου Vector | και τα δύο (η φιλική συνάρτηση σε σχόλια) |
- | Vector | Vector | Επιστρέφει ένα νέο αντικείμενο τύπου Vector που κάθε στοιχείο του προκύπτει από τη διαφορά των στοιχείων των δύο τελεστεών τύπου Vector | Όχι |
+ | Vector | int | Επιστρέφει ένα νέο αντικείμενο τύπου Vector που κάθε στοιχείο του προκύπτει από το άθροισμα του αντίστοιχου στοιχείου του Vector με τον ακέραιο | Όχι |
+ | int | Vector | Επιστρέφει ένα νέο αντικείμενο τύπου Vector που κάθε στοιχείο του προκύπτει από το άθροισμα του αντίστοιχου στοιχείου του Vector με τον ακέραιο | Ναι |
- | Vector | int | Επιστρέφει ένα νέο αντικείμενο τύπου Vector που κάθε στοιχείο του προκύπτει από τη διαφορά του αντίστοιχου στοιχείου του Vector με τον ακέραιο | Όχι |
* | Vector | int | Επιστρέφει ένα νέο αντικείμενο τύπου Vector που κάθε στοιχείο του προκύπτει από το γινόμενο του αντίστοιχου στοιχείου του Vector με τον ακέραιο | Όχι |
* | int | Vector | Επιστρέφει ένα νέο αντικείμενο τύπου Vector που κάθε στοιχείο του προκύπτει από το γινόμενο του αντίστοιχου στοιχείου του Vector με τον ακέραιο | Ναι |
/ | Vector | int | Επιστρέφει ένα νέο αντικείμενο τύπου Vector που κάθε στοιχείο του προκύπτει από την ακέραια διαίρεση του αντίστοιχου στοιχείου του Vector με τον ακέραιο | Όχι |
% | Vector | int | Επιστρέφει ένα νέο αντικείμενο τύπου Vector που κάθε στοιχείο του προκύπτει από το υπόλοιπο της ακέραιας διαίρεσης του αντίστοιχου στοιχείου του Vector με τον ακέραιο | Όχι |
<< | Vector | int | Επιστρέφει ένα νέο αντικείμενο τύπου Vector στο οποίο έχει προστεθεί ο δεξιός τελεστέος. Το νέο αντικείμενο έχει μέγεθος κατά ένα μεγαλύτερο του αριστερού τελεστέου. | και τα δύο (η φιλική συνάρτηση σε σχόλια) |
>> | Vector | int | Επιστρέφει ένα νέο αντικείμενο τύπου Vector στο οποίο έχει διαγραφεί ο δεξιός τελεστέος, εφόσον αυτός υπάρχει. Το νέο αντικείμενο έχει μέγεθος κατά ένα μικρότερο του αριστερού τελεστέου, εάν βρεθεί ο δεξιός τελεστέος μέσα στο Vector. Εάν δεν βρεθεί επιστρέφεται ένα αντικείμενο που περιέχει τα στοιχεία του αριστερού τελεστέου. | και τα δύο (η φιλική συνάρτηση σε σχόλια) |
Όταν έχετε μία φιλική μέθοδο και ένα μέλος της κλάσης που υλοποιούν την ίδια λειτουργικότητα υπερφόρτωσης, κατά τη χρήση του αντίστοιχου τελεστή χρησιμοποιείται (υπερισχύει) η συνάρτηση μέλος της κλάσης.
Από τα παραπάνω παρατηρούμε τα εξής:
cpp/vector_overloading_binary_operators.1493988913.txt.gz · Last modified: 2017/05/05 11:55 (external edit)