C ++ programmering standardargument (parametrar)

I den här handledningen lär vi oss C ++ - standardargument och hur de fungerar med hjälp av exempel.

I C ++ programmering kan vi tillhandahålla standardvärden för funktionsparametrar.

Om en funktion med standardargument anropas utan att skicka argument används standardparametrarna.

Om argument skickas medan funktionen anropas ignoreras dock standardargumenten.

Arbetar med standardargument

Hur standardargument fungerar i C ++

Vi kan förstå hur standardargument fungerar från bilden ovan:

  1. När temp()anropas används båda standardparametrarna av funktionen.
  2. När temp(6)anropas blir det första argumentet 6medan standardvärdet används för den andra parametern.
  3. När temp(6, -2.3)anropas åsidosätts båda standardparametrarna, vilket resulterar i i = 6och f = -2.3.
  4. När temp(3.4)passeras fungerar funktionen på ett oönskat sätt eftersom det andra argumentet inte kan skickas utan att passera det första argumentet.
    Därför 3.4passeras som det första argumentet. Eftersom det första argumentet har definierats intär värdet som faktiskt skickas 3.

Exempel: 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; )

Produktion

 Inget argument godkänt: *** Första argumentet godkänt: ### Båda argumenten godkänt: $$$$$

Så här fungerar det här programmet:

  1. display()kallas utan att skicka några argument. I det här fallet display()använder både standardparametrarna c = '*'och n = 1.
  2. display('#')kallas med endast ett argument. I det här fallet blir den första '#'. Den andra standardparametern n = 1bibehålls.
  3. display('#', count)kallas med båda argumenten. I det här fallet används inte standardargument.

Vi kan också definiera standardparametrarna i själva funktionsdefinitionen. Programmet nedan motsvarar det ovanstående.

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

Saker att komma ihåg

  1. När vi har angett ett standardvärde för en parameter måste alla efterföljande parametrar också ha standardvärden. Till exempel,
     // 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. Om vi ​​definierar standardargumenten i funktionsdefinitionen istället för funktionsprototypen, måste funktionen definieras innan funktionsanropet.
     // Invalid code int main() ( // function call display(); ) void display(char c = '*', int count = 5) ( // code )

Intressanta artiklar...