Arten von benutzerdefinierten Funktionen in C ++

In diesem Tutorial lernen Sie verschiedene Ansätze kennen, mit denen Sie ein einzelnes Problem mithilfe von Funktionen lösen können.

Zum besseren Verständnis von Argumenten und zur Rückgabe von Funktionen können benutzerdefinierte Funktionen wie folgt kategorisiert werden:

  • Funktion ohne Argument und ohne Rückgabewert
  • Funktion ohne Argument, aber Rückgabewert
  • Funktion mit Argument, aber ohne Rückgabewert
  • Funktion mit Argument und Rückgabewert

Stellen Sie sich eine Situation vor, in der Sie die Primzahl überprüfen müssen. Dieses Problem wird im Folgenden gelöst, indem benutzerdefinierte Funktionen auf 4 verschiedene Arten ausgeführt werden, wie oben erwähnt.

Beispiel 1: Keine Argumente übergeben und kein Rückgabewert

 # include using namespace std; void prime(); int main() ( // No argument is passed to prime() prime(); return 0; ) // Return type of function is void because value is not returned. void prime() ( int num, i, flag = 0; cout <> num; for(i = 2; i <= num/2; ++i) ( if(num % i == 0) ( flag = 1; break; ) ) if (flag == 1) ( cout << num << " is not a prime number."; ) else ( cout << num << " is a prime number."; ) ) 

Wird im obigen Programm prime()von main () ohne Argumente aufgerufen.

prime() nimmt die positive Zahl vom Benutzer und prüft, ob die Zahl eine Primzahl ist oder nicht.

Da der Rückgabetyp von prime()ist void, wird kein Wert von der Funktion zurückgegeben.

Beispiel 2: Keine Argumente übergeben, aber ein Rückgabewert

 #include using namespace std; int prime(); int main() ( int num, i, flag = 0; // No argument is passed to prime() num = prime(); for (i = 2; i <= num/2; ++i) ( if (num%i == 0) ( flag = 1; break; ) ) if (flag == 1) ( cout<  n; return n; ) 

Im obigen Programm wird die prime()Funktion von main()ohne Argumente aufgerufen .

prime()nimmt dem Benutzer eine positive ganze Zahl ab. Da der Rückgabetyp der Funktion ein ist int, gibt er die vom Benutzer eingegebene Nummer an die aufrufende main()Funktion zurück.

Dann wird in main () selbst überprüft, ob die Zahl eine Primzahl ist oder nicht, und auf dem Bildschirm gedruckt.

Beispiel 3: Argumente übergeben, aber kein Rückgabewert

 #include using namespace std; void prime(int n); int main() ( int num; cout <> num; // Argument num is passed to the function prime() prime(num); return 0; ) // There is no return value to calling function. Hence, return type of function is void. */ void prime(int n) ( int i, flag = 0; for (i = 2; i <= n/2; ++i) ( if (n%i == 0) ( flag = 1; break; ) ) if (flag == 1) ( cout << n << " is not a prime number."; ) else ( cout << n << " is a prime number."; ) )

In dem obigen Programm wird zuerst eine positive Zahl vom Benutzer abgefragt, die in der Variablen num gespeichert ist.

Dann wird num an die prime()Funktion übergeben, wo geprüft und gedruckt wird, ob die Zahl eine Primzahl ist oder nicht.

Da der Rückgabetyp von a prime()ist void, wird von der Funktion kein Wert zurückgegeben.

Beispiel 4: Übergebene Argumente und ein Rückgabewert.

 #include using namespace std; int prime(int n); int main() ( int num, flag = 0; cout <> num; // Argument num is passed to check() function flag = prime(num); if(flag == 1) cout << num << " is not a prime number."; else cout<< num << " is a prime number."; return 0; ) /* This function returns integer value. */ int prime(int n) ( int i; for(i = 2; i <= n/2; ++i) ( if(n % i == 0) return 1; ) return 0; ) 

Im obigen Programm wird vom Benutzer eine positive Ganzzahl abgefragt und in der Variablen gespeichert num.

Dann numwird an die Funktion übergeben, prime()wo geprüft wird, ob die Zahl eine Primzahl ist oder nicht.

Da der Rückgabetyp von prime()ist int, wird 1 oder 0 an die main()aufrufende Funktion zurückgegeben. Wenn die Zahl eine Primzahl ist, wird 1 zurückgegeben. Wenn nicht, wird 0 zurückgegeben.

Zurück in der main()Funktion wird die zurückgegebene 1 oder 0 im Variablenflag gespeichert und der entsprechende Text auf den Bildschirm gedruckt.

Welche Methode ist besser?

Alle vier oben genannten Programme liefern die gleiche Ausgabe und alle sind technisch korrekte Programme.

Es gibt keine feste Regel, nach welcher Methode gewählt werden soll.

Die jeweilige Methode hängt von der Situation und der Art und Weise ab, wie Sie ein Problem lösen möchten.

Interessante Beiträge...