Lietotāja definēto funkciju veidi C ++

Šajā apmācībā jūs uzzināsiet par dažādām pieejām, kuras varat izmantot, lai atrisinātu vienu problēmu, izmantojot funkcijas.

Lai labāk izprastu argumentus un atgrieztos funkcijās, lietotāja noteiktās funkcijas var iedalīt šādās kategorijās:

  • Funkcija bez argumenta un atgriešanās vērtības
  • Funkcija bez argumenta, bet atgriešanās vērtība
  • Funkcija ar argumentu, bet nav atgriešanās vērtības
  • Funkcija ar argumentu un atgriešanās vērtību

Apsveriet situāciju, kurā jums jāpārbauda primārais skaitlis. Šī problēma tiek atrisināta turpmāk, veicot lietotāja definētu funkciju 4 dažādos veidos, kā minēts iepriekš.

1. piemērs: nav iesniegts neviens arguments un atgriezta vērtība

 # 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."; ) ) 

Iepriekš minētajā programmā prime()tiek izsaukts no galvenā () bez argumentiem.

prime() paņem no lietotāja pozitīvo skaitli un pārbauda, ​​vai skaitlis ir galvenais skaitlis.

Tā kā atgriešanās veids prime()ir void, no funkcijas netiek atgriezta neviena vērtība.

2. piemērs: nav iesniegts neviens arguments, bet atgriešanās vērtība

 #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; ) 

Iepriekš minētajā programmā prime()funkcija tiek izsaukta no main()argumenta bez argumentiem.

prime()ņem no lietotāja pozitīvu veselu skaitli. Tā kā funkcijas atgriešanas veids ir an int, tas atgriež ievadīto numuru no lietotāja atpakaļ zvanīšanas main()funkcijai.

Pēc tam pašā galvenajā () tiek pārbaudīts, vai numurs ir galvenais vai nav, un tiek drukāts uz ekrāna.

3. piemērs: argumenti ir nodoti, bet nav atgriešanās vērtības

 #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."; ) )

Iepriekš minētajā programmā no lietotāja vispirms tiek prasīts pozitīvs skaitlis, kas tiek saglabāts mainīgajā num.

Pēc tam num tiek nosūtīts prime()funkcijai, kur tiek pārbaudīts un izdrukāts neatkarīgi no tā, vai skaitlis ir galvenais vai nē.

Tā kā atgriešanās tips prime()ir a void, no funkcijas netiek atgriezta neviena vērtība.

4. piemērs: nodotie argumenti un atgriešanās vērtība.

 #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; ) 

Iepriekš minētajā programmā no lietotāja tiek prasīts pozitīvs vesels skaitlis un tas tiek saglabāts mainīgajā num.

Tad numtiek nodota funkcijai, prime()kur tiek pārbaudīts, vai skaitlis ir galvenais vai nē.

Tā kā atgriešanās veids prime()ir int, 1 vai 0 tiek atgriezts main()izsaukšanas funkcijā. Ja skaitlis ir galvenais skaitlis, tiek atgriezts 1. Ja nē, tiek atgriezta 0.

Atgriežoties main()funkcijā, atgrieztais 1 vai 0 tiek saglabāts mainīgā karogā, un atbilstošais teksts tiek drukāts uz ekrāna.

Kura metode ir labāka?

Visas četras iepriekš minētās programmas nodrošina tādu pašu rezultātu un visas ir tehniski pareizas programmas.

Nav stingra noteikuma, kura metode būtu jāizvēlas.

Konkrētā metode tiek izvēlēta atkarībā no situācijas un tā, kā vēlaties atrisināt problēmu.

Interesanti raksti...