Λειτουργία C ++ (Με παραδείγματα)

Σε αυτό το σεμινάριο, θα μάθουμε για τη συνάρτηση C ++ και τις εκφράσεις λειτουργίας με τη βοήθεια παραδειγμάτων.

Μια συνάρτηση είναι ένα μπλοκ κώδικα που εκτελεί μια συγκεκριμένη εργασία.

Ας υποθέσουμε ότι πρέπει να δημιουργήσουμε ένα πρόγραμμα για να δημιουργήσουμε έναν κύκλο και να το χρωματίσουμε. Μπορούμε να δημιουργήσουμε δύο λειτουργίες για να λύσουμε αυτό το πρόβλημα:

  • μια συνάρτηση για να σχεδιάσετε τον κύκλο
  • μια συνάρτηση χρωματισμού του κύκλου

Ο διαχωρισμός ενός πολύπλοκου προβλήματος σε μικρότερα κομμάτια καθιστά το πρόγραμμά μας εύκολο να γίνει κατανοητό και επαναχρησιμοποιήσιμο.

Υπάρχουν δύο τύποι λειτουργιών:

  1. Τυπικές λειτουργίες βιβλιοθήκης: Προκαθορισμένες σε C ++
  2. Λειτουργία καθορισμένη από τον χρήστη : Δημιουργήθηκε από χρήστες

Σε αυτό το σεμινάριο, θα επικεντρωθούμε κυρίως σε λειτουργίες που καθορίζονται από το χρήστη.

Λειτουργία που καθορίζεται από το χρήστη C ++

Το C ++ επιτρέπει στον προγραμματιστή να καθορίσει τη δική του λειτουργία.

Μια καθορισμένη από τον χρήστη συνάρτηση ομαδοποιεί κώδικα για την εκτέλεση μιας συγκεκριμένης εργασίας και σε αυτήν την ομάδα κώδικα δίνεται ένα όνομα (αναγνωριστικό).

Όταν η συνάρτηση καλείται από οποιοδήποτε μέρος του προγράμματος, εκτελεί όλους τους κωδικούς που ορίζονται στο σώμα της συνάρτησης.

Δήλωση λειτουργίας C ++

Η σύνταξη για να δηλώσετε μια συνάρτηση είναι:

 returnType functionName (parameter1, parameter2,… ) ( // function body )

Ακολουθεί ένα παράδειγμα δήλωσης συνάρτησης.

 // function declaration void greet() ( cout << "Hello World"; )

Εδώ,

  • το όνομα της συνάρτησης είναι greet()
  • ο τύπος επιστροφής της συνάρτησης είναι void
  • οι κενές παρενθέσεις σημαίνει ότι δεν έχει παραμέτρους
  • το σώμα λειτουργίας είναι γραμμένο μέσα ()

Σημείωση: Θα μάθουμε για returnTypeκαι parametersαργότερα σε αυτό το σεμινάριο.

Κλήση μιας συνάρτησης

Στο παραπάνω πρόγραμμα, έχουμε δηλώσει μια συνάρτηση που ονομάζεται greet(). Για να χρησιμοποιήσουμε τη greet()συνάρτηση, πρέπει να την καλέσουμε.

Δείτε πώς μπορούμε να καλέσουμε την παραπάνω greet()συνάρτηση.

 int main() ( // calling a function greet(); )
Πώς λειτουργεί η λειτουργία στο C ++

Παράδειγμα 1: Εμφάνιση κειμένου

 #include using namespace std; // declaring a function void greet() ( cout << "Hello there!"; ) int main() ( // calling the function greet(); return 0; )

Παραγωγή

 Γειά σου!

Παράμετροι λειτουργίας

Όπως αναφέρθηκε παραπάνω, μια συνάρτηση μπορεί να δηλωθεί με παραμέτρους (ορίσματα). Μια παράμετρος είναι μια τιμή που διαβιβάζεται κατά τη δήλωση μιας συνάρτησης.

Για παράδειγμα, ας εξετάσουμε την παρακάτω λειτουργία:

 void printNum(int num) ( cout << num; )

Εδώ, η intμεταβλητή num είναι η παράμετρος συνάρτησης.

Περνάμε μια τιμή στην παράμετρο συνάρτησης ενώ καλούμε τη συνάρτηση.

 int main() ( int n = 7; // calling the function // n is passed to the function as argument printNum(n); return 0; )

Παράδειγμα 2: Λειτουργία με παράμετροι

 // program to print a text #include using namespace std; // display a number void displayNum(int n1, float n2) ( cout << "The int number is " << n1; cout << "The double number is " << n2; ) int main() ( int num1 = 5; double num2 = 5.5; // calling the function displayNum(num1, num2); return 0; )

Παραγωγή

 Ο αριθμός int είναι 5 Ο διπλός αριθμός είναι 5.5

Στο παραπάνω πρόγραμμα, χρησιμοποιήσαμε μια συνάρτηση που έχει μία intπαράμετρο και μία doubleπαράμετρο.

Στη συνέχεια περνάμε τα num1 και num2 ως επιχειρήματα. Αυτές οι τιμές αποθηκεύονται από τις παραμέτρους συνάρτησης n1 και n2 αντίστοιχα.

Λειτουργία C ++ με παραμέτρους

Σημείωση: Ο τύπος των ορισμάτων που πέρασαν κατά την κλήση της συνάρτησης πρέπει να ταιριάζει με τις αντίστοιχες παραμέτρους που ορίζονται στη δήλωση συνάρτησης.

Δήλωση επιστροφής

Στα παραπάνω προγράμματα, χρησιμοποιήσαμε το κενό στην δήλωση συνάρτησης. Για παράδειγμα,

 void displayNumber() ( // code )

Αυτό σημαίνει ότι η συνάρτηση δεν επιστρέφει καμία τιμή.

Είναι επίσης δυνατό να επιστρέψετε μια τιμή από μια συνάρτηση. Για αυτό, πρέπει να καθορίσουμε returnTypeτη συνάρτηση κατά τη δήλωση συνάρτησης.

Στη συνέχεια, η returnδήλωση μπορεί να χρησιμοποιηθεί για να επιστρέψει μια τιμή από μια συνάρτηση.

Για παράδειγμα,

 int add (int a, int b) ( return (a + b); )

Εδώ, έχουμε τον τύπο δεδομένων intαντί void. Αυτό σημαίνει ότι η συνάρτηση επιστρέφει μια intτιμή.

Ο κωδικός return (a + b);επιστρέφει το άθροισμα των δύο παραμέτρων ως τιμή συνάρτησης.

Η returnδήλωση δηλώνει ότι η συνάρτηση έχει τελειώσει. returnΔεν εκτελείται κανένας κωδικός μετά τη λειτουργία.

Παράδειγμα 3: Προσθήκη δύο αριθμών

 // program to add two numbers using a function #include using namespace std; // declaring a function int add(int a, int b) ( return (a + b); ) int main() ( int sum; // calling the function and storing // the returned value in sum sum = add(100, 78); cout << "100 + 78 = " << sum << endl; return 0; )

Παραγωγή

 100 + 78 = 178

Στο παραπάνω πρόγραμμα, η add()συνάρτηση χρησιμοποιείται για να βρει το άθροισμα των δύο αριθμών.

Περνάμε δύο intγράμματα 100και 78ενώ καλούμε τη συνάρτηση.

Αποθηκεύουμε την επιστρεφόμενη τιμή της συνάρτησης στο μεταβλητό άθροισμα και μετά την εκτυπώνουμε.

Εργασία της συνάρτησης C ++ με δήλωση επιστροφής

Παρατηρήστε ότι το άθροισμα είναι μια μεταβλητή intτύπου. Αυτό συμβαίνει επειδή η τιμή επιστροφής add()είναι intτύπου.

Πρωτότυπο λειτουργίας

In C++, the code of function declaration should be before the function call. However, if we want to define a function after the function call, we need to use the function prototype. For example,

 // function prototype void add(int, int); int main() ( // calling the function before declaration. add(5, 3); return 0; ) // function definition void add(int a, int b) ( cout << (a + b); )

In the above code, the function prototype is:

 void add(int, int);

This provides the compiler with information about the function name and its parameters. That's why we can use the code to call a function before the function has been defined.

The syntax of a function prototype is:

 returnType functionName(dataType1, dataType2,… );

Example 4: C++ Function Prototype

 // using function definition after main() function // function prototype is declared before main() #include using namespace std; // function prototype int add(int, int); int main() ( int sum; // calling the function and storing // the returned value in sum sum = add(100, 78); cout << "100 + 78 = " << sum << endl; return 0; ) // function definition int add(int a, int b) ( return (a + b); )

Output

 100 + 78 = 178

The above program is nearly identical to Example 3. The only difference is that here, the function is defined after the function call.

That's why we have used a function prototype in this example.

Benefits of Using User-Defined Functions

  • Functions make the code reusable. We can declare them once and use them multiple times.
  • Functions make the program easier as each small task is divided into a function.
  • Functions increase readability.

C++ Library Functions

Library functions are the built-in functions in C++ programming.

Programmers can use library functions by invoking the functions directly; they don't need to write the functions themselves.

Some common library functions in C++ are sqrt(), abs(), isdigit(), etc.

In order to use library functions, we usually need to include the header file in which these library functions are defined.

For instance, in order to use mathematical functions such as sqrt() and abs(), we need to include the header file cmath.

Example 5: C++ Program to Find the Square Root of a Number

 #include #include using namespace std; int main() ( double number, squareRoot; number = 25.0; // sqrt() is a library function to calculate the square root squareRoot = sqrt(number); cout << "Square root of " << number << " = " << squareRoot; return 0; )

Output

 Τετραγωνική ρίζα 25 = 5

Σε αυτό το πρόγραμμα, η sqrt()λειτουργία βιβλιοθήκης χρησιμοποιείται για τον υπολογισμό της τετραγωνικής ρίζας ενός αριθμού.

Η δήλωση συνάρτησης του sqrt()ορίζεται στο cmathαρχείο κεφαλίδας. Γι 'αυτό πρέπει να χρησιμοποιήσουμε τον κωδικό #include για να χρησιμοποιήσουμε τη sqrt()συνάρτηση.

Για να μάθετε περισσότερα, επισκεφτείτε τις συναρτήσεις C ++ Standard Library.

ενδιαφέροντα άρθρα...