Ορισμός συναρτήσεων
< Τύπος επιστρεφόμενης τιμής> < Όνομα συνάρτησης>( Παράμετροι);
Τρόπος Α’ (Προτεινόμενος)
#include <iostream>
using namespace std;
int add_2_nums(int a, int b) { // Ορισμός και υλοποίηση συνάρτησης
return a + b; // Επιστροφή αθροίσματος
} // Τέλος σώματος συνάρτησης
int main() { // Κύρια συνάρτηση (main)
cout << add_2_nums(65, 97); // Κλήση συνάρτησης add_2_nums στο κυρίως πρόγραμμα
return 0;
} // Τέλος προγράμματος
Τρόπος Β’
#include <iostream>
using namespace std;
int add_2_nums(int a, int b); // Ορισμός συνάρτησης (Τα a και b είναι προαιρετικά)
int main() { // Κύρια συνάρτηση (main)
cout << add_2_nums(65, 97); // Κλήση συνάρτησης add_2_nums
return 0; // στο κυρίως πρόγραμμα
} // Τέλος προγράμματος
int add_2_nums(int a, int b) { // Υλοποίηση συνάρτησης
return a + b; // Επιστροφή αθροίσματος
} // Τέλος σώματος συνάρτησης
Παράμετροι τιμών (by value) και παράμετροι αναφοράς (by reference)
Οι παράμετροι τιμών μετά την έξοδο από τη συνάρτηση, τυχόν αλλαγή στην τιμή τους δεν παραμένει κατά την επιστροφη στο κυρίως πρόγραμμα, ενώ οι αλλαγές στις τιμές των παραμέτρων αναφοράς επιστρέφονται αλλαγμένες στο κυρίως πρόγραμμα.
#include <iostream>
using namespace std;
// Συνάρτηση τύπου void
void swap(int &a, int &b) { // Παράμετροι αναφοράς (&)
int temp; // Τοπική μεταβλητή temp
temp = a; // Τεχνική αντιμετάθεσης δύο τιμών με τη χρήση μιας επιπρόσθετης μεταβλητής
a = b;
b = temp;
}
int main() { // Κύρια συνάρτηση (main)
int x, y;
cin >> x >> y; // Καταχώριση δεδομένων
swap(x, y); // Κλήση συνάρτησης swap
cout << "x=" << x << endl; // Εμφάνιση αποτελεσμάτων
cout << "y=" << y << endl;
return 0;
}
Πίνακες και συναρτήσεις
< Τύπος επιστρεφόμενης τιμής> < Όνομα συνάρτησης>( <Τύπος δεδομένων> <Όνομα πίνακα>[], …);
Δεν βάζουμε το & στους πίνακες διότι είναι εκ ορισμού αναφοράς και άρα αν αλλάξουν οι τιμές του πίνακα μέσα στη συνάρτηση τότε παραμένουν αλλαγμένες και στο κυρίως πρόγραμμα κατά την επιστροφή.
Στους δισδιάστατους πίνακες το μέγεθος της 2ης διάστασης είναι υποχρεωτικό κατά τη δήλωση της αναφοράς στο πρότυπο της συνάρτησης.
Δες Πίνακες για παράδειγμα.