C ++ programmering standardargumenter (parametere)

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:

  1. Når temp()kalles, brukes begge standardparametrene av funksjonen.
  2. Når temp(6)kalles, blir det første argumentet 6mens standardverdien brukes til den andre parameteren.
  3. Når temp(6, -2.3)kalles, overstyres begge standardparametrene, noe som resulterer i i = 6og f = -2.3.
  4. 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.
    Derfor 3.4blir bestått som det første argumentet. Siden det første argumentet er definert som int, er verdien som faktisk sendes 3.

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:

  1. display()kalles uten å føre noen argumenter. display()Bruker i dette tilfellet både standardparametrene c = '*'og n = 1.
  2. display('#')kalles med bare ett argument. I dette tilfellet blir den første '#'. Den andre standardparameteren n = 1beholdes.
  3. 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

  1. 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);
  2. 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 )

Interessante artikler...