I denne opplæringen vil vi lære C ++ standardargumenter og deres arbeid ved hjelp av eksempler.
I C ++ programmering kan vi gi standardverdier for funksjonsparametere.
Hvis en funksjon med standardargumenter kalles uten å sende argumenter, brukes standardparametrene.
Imidlertid, hvis argumenter sendes mens du ringer til funksjonen, ignoreres standardargumentene.
Arbeider med standardargumenter
Hvordan standardargumenter fungerer i C ++
Vi kan forstå hvordan standardargumenter fungerer fra bildet ovenfor:
- Når
temp()kalles, brukes begge standardparametrene av funksjonen. - Når
temp(6)kalles, blir det første argumentet6mens standardverdien brukes til den andre parameteren. - Når
temp(6, -2.3)kalles, overstyres begge standardparametrene, noe som resulterer ii = 6ogf = -2.3. - Når
temp(3.4)passerer, oppfører funksjonen seg på en uønsket måte fordi det andre argumentet ikke kan overføres uten å passere det første argumentet.
Derfor3.4blir bestått som det første argumentet. Siden det første argumentet er definert somint, er verdien som faktisk sendes3.
Eksempel: Standardargument
#include using namespace std; // defining the default arguments void display(char = '*', int = 3); int main() ( int count = 5; cout << "No argument passed: "; // *, 3 will be parameters display(); cout << "First argument passed: "; // #, 3 will be parameters display('#'); cout << "Both arguments passed: "; // $, 5 will be parameters display('$', count); return 0; ) void display(char c, int count) ( for(int i = 1; i <= count; ++i) ( cout << c; ) cout << endl; )
Produksjon
Ingen argument bestått: *** Første argument bestått: ### Begge argumentene bestått: $$$$$
Slik fungerer dette programmet:
display()kalles uten å føre noen argumenter.display()Bruker i dette tilfellet både standardparametrenec = '*'ogn = 1.display('#')kalles med bare ett argument. I dette tilfellet blir den første'#'. Den andre standardparameterenn = 1beholdes.display('#', count)kalles med begge argumentene. I dette tilfellet brukes ikke standardargumenter.
Vi kan også definere standardparametrene i selve funksjonsdefinisjonen. Programmet nedenfor tilsvarer det ovenfor.
#include using namespace std; // defining the default arguments void display(char c = '*', int count = 3) ( for(int i = 1; i <= count; ++i) ( cout << c; ) cout << endl; ) int main() ( int count = 5; cout << "No argument passed: "; // *, 3 will be parameters display(); cout << "First argument passed: "; // #, 3 will be parameters display('#'); cout << "Both argument passed: "; // $, 5 will be parameters display('$', count); return 0; )
Ting å huske
- Når vi har gitt en standardverdi for en parameter, må alle påfølgende parametere også ha standardverdier. For eksempel,
// Invalid void add(int a, int b = 3, int c, int d); // Invalid void add(int a, int b = 3, int c, int d = 4); // Valid void add(int a, int c, int b = 3, int d = 4); - Hvis vi definerer standardargumentene i funksjonsdefinisjonen i stedet for funksjonsprototypen, må funksjonen defineres før funksjonsanropet.
// Invalid code int main() ( // function call display(); ) void display(char c = '*', int count = 5) ( // code )








