C++ Funktsioonid programminäidetega
Mis on funktsioon C++?
A funktsioon in C++ viitab lausete rühmale, mis võtab sisendi, töötleb seda ja tagastab väljundi. Funktsiooni mõte on kombineerida ühiseid ülesandeid, mida tehakse korduvalt. Kui teil on erinevad sisendid, ei kirjuta te sama koodi uuesti. Funktsiooni kutsutakse lihtsalt erineva andmekogumiga, mida nimetatakse parameetriteks.
Tk C++ programmil on vähemalt üks funktsioon, funktsioon main(). Saate oma koodi jagada erinevateks funktsioonideks. See jaotus peaks olema selline, et iga funktsioon täidaks konkreetset ülesannet.
Seadmel on palju sisseehitatud funktsioone C++ standardne raamatukogu. Saate neid funktsioone oma programmis kutsuda.
Miks kasutada funktsioone?
Funktsioonide kasutamisega on seotud palju eeliseid. Nende hulka kuuluvad:
- Iga funktsioon paneb seotud koodi kokku. See muudab programmeerijate jaoks koodi mõistmise lihtsamaks.
- Funktsioonid muudavad programmeerimise lihtsamaks, välistades koodi kordamise.
- Funktsioonid hõlbustavad koodi taaskasutamist. Saate kutsuda sama funktsiooni ülesande täitmiseks programmi erinevates osades või isegi väljaspool programmi.
Sisseehitatud funktsioonid
In C++ raamatukogu funktsioonid on sisse ehitatud C++ funktsioonid. Nende funktsioonide kasutamiseks peate lihtsalt neid otse välja kutsuma/helistama. Funktsioone ei pea ise kirjutama.
Näide 1:
#include <iostream> #include <cmath> using namespace std; int main() { double num, squareRoot; cout << "Enter number: "; cin >> num; squareRoot = sqrt(num); cout << "The square root of " << num << " is: " << squareRoot; return 0; }
Väljund:
Siin on koodi ekraanipilt:
Koodi selgitus:
- Selle funktsioonide kasutamiseks lisage meie programmi iostreami päisefail.
- Lisage selle funktsioonide kasutamiseks cmath teek. Soovime kasutada selles defineeritud funktsiooni sqrt().
- Lisage meie koodi std nimeruum, et kasutada selle klasse ilma seda kutsumata.
- Kutsuge funktsioon main(). Programmi loogika tuleks lisada selle funktsiooni kehasse.
- Deklareerige kaks topeltmuutujat, num ja ruutjuur.
- Printige konsoolile teksti. Tekst palub kasutajal sisestada number.
- Lugege klaviatuurilt kasutaja sisendit. Sisend muutub muutuja num väärtuseks.
- Kutsuge välja teegi funktsioon sqrt(), mis arvutab arvu ruutjuure. Andsime funktsioonile edasi parameetri num, mis tähendab, et see arvutab ruutjuure numbrist. See funktsioon on määratletud teegis cmath.
- Printige kasutaja sisestatud number, selle ruutjuur ja mõni muu konsoolil olev tekst.
- Programm peab pärast edukat lõpetamist tagastama väärtuse.
- Funktsiooni main() keha lõpp.
Kasutaja määratud funktsioonid
C++ võimaldab programmeerijatel ise oma funktsioone määratleda. Funktsiooni eesmärk on seotud koodi rühmitamine. Seejärel antakse koodile kordumatu tunnus, funktsiooni nimi.
Funktsiooni saab kutsuda/välja kutsuda mis tahes muust programmi osast. Seejärel käivitab see oma kehas määratletud koodi.
Näide 2:
#include <iostream> using namespace std; void sayHello() { cout << "Hello!"; } int main() { sayHello(); return 0; }
Väljund:
Siin on koodi ekraanipilt:
Koodi selgitus:
- Selle funktsioonide kasutamiseks lisage meie programmi iostreami päisefail.
- Lisage meie koodi std nimeruum, et kasutada selle klasse ilma seda kutsumata.
- Looge kasutaja määratud funktsioon nimega sayHello().
- Funktsiooni sayHello() kutsumisel printige konsoolile teksti.
- Funktsiooni sayHello() keha lõpp.
- Kutsuge funktsioon main(). Programmi loogika tuleks lisada selle funktsiooni kehasse.
- Kutsuge / käivitage funktsioon nimega sayHello().
- Programm peab pärast edukat lõpetamist tagastama väärtuse.
- Funktsiooni main() keha lõpp.
Funktsiooni deklaratsioon/prototüüp
Kui määrate pärast funktsiooni main() kasutaja määratud funktsiooni, siis C++ kompilaator tagastab veateate. Põhjus on selles, et kompilaator ei tea kasutaja määratud funktsiooni üksikasju. Üksikasjad hõlmavad selle nime, argumentide tüüpe ja nende tagastustüüpe.
In C++, funktsiooni deklaratsioon/prototüüp deklareerib funktsiooni ilma kehata. See annab kompilaatorile kasutaja määratud funktsiooni üksikasjad.
Deklaratsioonis/prototüübis lisame tagastustüübi, funktsiooni nime ja argumenditüübid. Argumentide nimesid ei lisata. Argumentide nimede lisamine aga viga ei tekita.
Funktsiooni definitsioon
Funktsiooni deklaratsiooni eesmärk on öelda C++ kompilaator funktsiooni nime, tagastustüübi ja parameetrite kohta. Funktsiooni definitsioon ütleb C++ funktsiooni keha kohta koostaja.
Süntaks
return_datatype function_name( parameters) { function body }
Eeltoodust lähtuvalt on funktsiooni definitsioonil funktsiooni päis ja keha. Siin on parameetrite selgitus:
- return_datatype- Mõned funktsioonid tagastavad väärtuse. See parameeter tähistab tagastatava väärtuse andmetüüpi. Mõned funktsioonid ei tagasta väärtust. Sel juhul muutub selle parameetri väärtus kehtetuks.
- funktsiooni_nimi – see on funktsiooni nimi. Funktsiooni nimi ja parameetrid moodustavad funktsiooni allkirja.
- Parameetrid – see on funktsiooni parameetrite tüüp, järjekord ja arv. Mõnel funktsioonil pole parameetreid.
- funktsiooni keha – need on avaldused, mis määratlevad, mida funktsioon teeb.
Funktsiooni helistamine
Et funktsioon täidaks määratud ülesannet ja tagastaks väljundi, tuleb see välja kutsuda. Funktsiooni kutsumisel täidab see selle kehasse lisatud lauseid.
Programmi kutsutakse selle nime järgi. Kui funktsioon võtab parameetreid, tuleks nende väärtused kõne ajal edastada. Kui teenus ei võta parameetreid, ärge edastage kõne ajal ühtegi väärtust.
Argumentide läbimine
In C++, argument/parameeter on andmed, mis edastatakse funktsioonile selle kutsumise ajal. Väärtused tuleb lähtestada nende vastavate muutujatega.
Funktsiooni kutsumisel peavad argumendid arvult ühtima. See tähendab, et edastatavad väärtused peavad võrduma parameetrite arvuga. Jällegi peavad väärtused tüübi poolest parameetritega kattuma. Kui esimene parameeter on täisarv, peab sellele edastatav väärtus olema täisarv.
Funktsiooni parameetritele saab määrata vaikeväärtused. Kui te funktsiooni kutsumise ajal parameetri väärtust ei edasta, kasutatakse vaikeväärtust.
Näide 3: Kuidas kirjutada ja kutsuda funktsiooni
#include <iostream> using namespace std; int addFunc(int, int); int main() { int x, y, sum; cout << "Enter two numbers: "; cin >> x >> y; sum = addFunc(x, y); cout <<"The sum of "<<x<< " and " <<y<<" is: "<<sum; return 0; } int addFunc(int num1, int num2) { int addFunc; addFunc = num1 + num2; return addFunc; }
Väljund:
Siin on koodi ekraanipilt:
Koodi selgitus:
- Selle funktsioonide kasutamiseks lisage meie programmi iostreami päisefail.
- Lisage meie koodi std nimeruum, et kasutada selle klasse ilma seda kutsumata.
- Deklareerige funktsioon nimega addFunc(), mis võtab kaks täisarvu parameetrit. See loob funktsiooni prototüübi.
- Kutsuge funktsioon main(). Programmi loogika tuleks lisada selle funktsiooni kehasse.
- Deklareerige kolm täisarvu muutujat x, y ja summa.
- Printige konsoolile teksti. Tekst palub kasutajal sisestada kaks numbrit.
- Lugege klaviatuurilt kasutaja sisendit. Kasutaja peaks sisestama kaks numbrit muutujate x ja y jaoks, eraldades need tühikuga.
- Kutsuge funktsioon addFunc() ja edastage sellele parameetrid x ja y. Funktsioon töötab nende parameetrite alusel ja määrab väljundi muutuvale summale.
- Printige konsoolile koos muu tekstiga muutujate x, y ja summa väärtused.
- Funktsioon peab pärast edukat lõpetamist tagastama väärtuse.
- Funktsiooni main() keha lõpp.
- Funktsiooni määratlus. Defineerime funktsiooni addFunc(). Me ütleme, mida funktsioon oma kehas teeb, { }.
- Täisarvulise muutuja nimega addFunc deklareerimine.
- Parameetrite num1 ja num2 väärtuste liitmine ja tulemuse määramine muutujale addFunc.
- Funktsioon addFunc() peaks tagastama muutuja addFunc väärtuse.
- Funktsiooni keha lõpp, see tähendab funktsiooni määratlus.
kokkuvõte
- Funktsioon sees C++ aitab seotud koodi rühmitada üheks.
- Funktsioonid hõlbustavad koodi taaskasutamist.
- Sarnase koodi kirjutamise asemel rühmitate selle lihtsalt funktsiooniks. Seejärel saate funktsioonile helistada kõikjal koodi sees.
- Funktsioonid võivad olla raamatukogu või kasutaja määratud.
- Raamatukogu funktsioonid on mitmesugused sisseehitatud funktsioonid C++ funktsioonid.
- Teegi funktsioonide kasutamiseks lisage lihtsalt selle definitsiooniteek ja kutsuge funktsioon välja. Te ei määratle funktsiooni.
- Kasutaja määratud funktsioonid on funktsioonid, mille määratlete kui a C++ programmeerija.
- Funktsiooni deklaratsioon ütleb kompilaatorile funktsiooni nime, tagastustüübi ja parameetritüüpide kohta.
- Funktsiooni definitsioon lisab funktsiooni põhiosa.
- Kui funktsioon võtab parameetreid, tuleb nende väärtused funktsiooni kutsumise ajal edastada.