cpp:functions
                Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| cpp:functions [2017/05/06 08:53] – [Υπερφόρτωση συναρτήσεων] gthanos | cpp:functions [Unknown date] (current) – external edit (Unknown date) 127.0.0.1 | ||
|---|---|---|---|
| Line 32: | Line 32: | ||
| Κατά τον ορισμό μίας συνάρτησης είναι δυνατόν να ορίσετε προκαθορισμένες τιμές για συγκεκριμένες παραμέτρους. Με αυτό τον τρόπο η ίδια μέθοδος μπορεί να κληθεί με λιγότερα ορίσματα, | Κατά τον ορισμό μίας συνάρτησης είναι δυνατόν να ορίσετε προκαθορισμένες τιμές για συγκεκριμένες παραμέτρους. Με αυτό τον τρόπο η ίδια μέθοδος μπορεί να κληθεί με λιγότερα ορίσματα, | ||
| - | <code c++ powerOf.cpp> | + | <code c++ power_of.cpp> | 
| #include < | #include < | ||
| using namespace std; | using namespace std; | ||
| Line 39: | Line 39: | ||
| if(e==0) | if(e==0) | ||
| return 1; | return 1; | ||
| + | int result = base; | ||
| for(int i=1; i<e; i++) { | for(int i=1; i<e; i++) { | ||
| - |  | + |  | 
| } | } | ||
| - | return | + | return | 
| } | } | ||
| int main() { | int main() { | ||
| - | int a = 5, b; | + | int a = 2, b; | 
| b = powerOf(a); | b = powerOf(a); | ||
| cout << "a: " << a <<", | cout << "a: " << a <<", | ||
| - | b = powerOf(a, | + | b = powerOf(a, 3); | 
| + | cout << "a: " << a <<", | ||
| + | b = powerOf(a, 5); | ||
| cout << "a: " << a <<", | cout << "a: " << a <<", | ||
| } | } | ||
| Line 125: | Line 128: | ||
| Παρατηρήστε ότι μετά την έξοδο από τις μεθόδους // | Παρατηρήστε ότι μετά την έξοδο από τις μεθόδους // | ||
| - | Παρατηρήστε ότι οι συνάρτηση | + | <WRAP center round tip 80%> | 
| + | Κατά την κλήση μίας | ||
| - | <WRAP center round info 80%> | + | Για | 
| - | Όταν θέλουμε να περάσουμε σε μία συνάρτηση μεγάλα αντικείμενα που περιέχουν πολύ πληροφορία είναι προτιμότερο να τα περάσουμε με αναφορά ακόμη και εάν | + | |
| - | + | ||
| - | Για βασικούς τύπους δεδομένων η κλήση με αναφορά δεν έχει καμία επίπτωση στην ταχύτητα εκτέλεσης του προγράμματος. | + | |
| </ | </ | ||
| + | |||
| + | ===== Αναφορές ως επιστρεφόμενες τιμές συναρτήσεων ===== | ||
| + | |||
| + | [[cpp: | ||
| ===== Υπερφόρτωση συναρτήσεων ===== | ===== Υπερφόρτωση συναρτήσεων ===== | ||
| - | Η C++ (όπως και η Java) επιτρέπει δύο συναρτήσεις να έχουν το ίδιο όνομα αλλά διαφορετικό αριθμό ή τύπο παραμέτρων. Αυτό συμβαίνει διότι η συνάρτηση δεν ορίζεται μόνο από το όνομα της, αλλά από το όνομα της σε συνδυασμό με τις τυπικές παραμέτρους που λαμβάνει. Δείτε το προηγούμενο παράδειγμα προσαρμοσμένο, | + | Η C++ (όπως και η Java) επιτρέπει δύο συναρτήσεις να έχουν το ίδιο όνομα αλλά διαφορετικό αριθμό ή τύπο παραμέτρων. Αυτό συμβαίνει διότι η συνάρτηση δεν ορίζεται μόνο από το όνομα της, αλλά από το όνομα της σε συνδυασμό με τις τυπικές παραμέτρους που λαμβάνει. Δείτε το προηγούμενο παράδειγμα προσαρμοσμένο, | 
| <code c++ powerOf2.cpp> | <code c++ powerOf2.cpp> | ||
| Line 168: | Line 173: | ||
| } | } | ||
| </ | </ | ||
| - | |||
| - | |||
| ===== Template συναρτήσεων ===== | ===== Template συναρτήσεων ===== | ||
| Line 179: | Line 182: | ||
| </ | </ | ||
| - | Παρατηρούμε ότι οι παραπάνω συναρτήσεις έχουν το ίδιο | + | Παρατηρούμε ότι οι παραπάνω συναρτήσεις έχουν τον ίδιο αριθμό | 
| <code c++> | <code c++> | ||
| Line 188: | Line 191: | ||
| </ | </ | ||
| - | η δεσμευμένη | + | η δεσμευμένη έκφραση '' | 
| <code c++> | <code c++> | ||
| Line 194: | Line 197: | ||
| </ | </ | ||
| - | Δείτε το παραπάνω παράδειγμα που περιέχει επιμέρους κλήσεις για την // | + | Δείτε το παραπάνω παράδειγμα που περιέχει επιμέρους κλήσεις για τη μέθοδο sum. | 
| - | <code sumUsage.cpp> | + | < | 
| #include < | #include < | ||
| using namespace std; | using namespace std; | ||
cpp/functions.1494060783.txt.gz · Last modified: 2017/05/06 07:53 (external edit)
                
                