--%>

Default function arguments

C++ allows us to call a function without specifying all its arguments. In such type of cases, the function allots a default value to the parameter which does not have a corresponding argument in the function call. Default values are specifies when the function is declared. The compiler looks at the proto type to see how many arguments a function uses and alerts the programme for possible default values. Here is an example of a proto type (function declarations) with default values:

Float amount (float principal, Int period, float rate = 0.15);

The default value is specified in a manner syntactically similar to a variable initialization. The above proto type declares a default value of 0.15 to the argument rate. A subsequent function call like

Value = amount (5000, 7);     // one argument missing

Passes the value of 5000 to principal and 7 to period and then less the function use default value of 0.15 for rate.

The call value = amount (5000, 5, 0.12);    // no missing argument

Passes an explicit value of 0.15 to rate.

  A default argument is checked for type at the time at the declaration and evaluated at the time of the call. One significant point to note down is that only the trailing arguments can own default values and thus we should add defaults from right to left. We cannot give a default value to an argument in the mid of an argument list. Some examples of function declarations with default values are:

Int mul (i, Int j = 5, Int k = 10);     // legal       

Int mul (i, Int j = 5, Int k = 10);     // legal      

Int mul (i, Int = 5, Int j );     // illegal      

Int mul (i, Int j = 5, Int k = 10);     // illegal

Default arguments are useful in situations where some arguments always have the same value. For example, bank interest may remain similar for all customers for a exact period of deposit. It also gives great flexibility to the programmers. A function can be written with more parameters than are required for its common applications. With the use of default arguments, a programmer can use only those arguments which are meaningful to an exact situation.  

 

   Related Questions in Programming Languages

  • Q : Define Case sensitive Case sensitive :

    Case sensitive: The test which is sensitive to whether a character is in upper-case (example, 'A') or lower-case (example, 'a').

  • Q : What is Client Client : It is a user of

    Client: It is a user of a service. The Web client requests resources from Web server, for example: Whenever the client is an object then this is the sender of messages to its object servers.

  • Q : Explain Throws clause Throws clause :

    Throws clause: It is a clause in a method header pointing that one or additional exceptions will be propagated from this technique. For example:    public int find(String s) throws NotFoundExc

  • Q : What is Variable Variable : It is the

    Variable: It is the memory block of specific size where value can be stored and modified throughout program execution. Example: int x, float y, float amount, char c;

  • Q : Function of windows-dot-h header file

    What is the function of <windows.h> header file ?

  • Q : Program to Calculate Estimate

    Collaboration Policy Collaboration between students on programming assignments is NOT allowed under any circumstances - you may not even discuss your work with other

  • Q : State the term New in XPath 2.0 State

    State the term New in XPath 2.0?

  • Q : Fact table and dimension table describe

    describe the foreign key in fact table and dimension table

  • Q : Explain Static variable Static variable

    Static variable: It is a static variable defined within a class body. Such a variable fits in to the class as a whole, and is, thus, shared by all objects of the class. The class variable may be employed to define the default value of an instance vari

  • Q : What is Low level programming languages

    Low level programming languages: It is frequently termed as `assembly languages’; these give little more than the fundamental instruction set of a particular Central Processing Unit. Therefore programs written in low level programming languages