Thursday 16 July 2015

Functions

Today we will discuss a very important C++ Phenomenon ie Functions

Introduction:

Functions basically work on the principle of "Divide and conquer" ie: 

  • Construct a program from smaller pieces or components.
  • Each piece more manageable than the original program

these smaller pieces or components help in Reusability of code, instead of writing same code again and again, Such  Small, independent piece of code/module  is a ‘Function’ in C++
–Programmers use ‘new’ or ‘prepackaged’ modules
New: programmer-defined functions
Prepackaged: from the standard library

For using a function, one should only know how to call it….That is how to make a ‘function call’.

Functions and Terminology:

Function Prototype:

A function prototype contains;
  return_data_type     function_name(parameter_data_types);
  e.g       int square(int);
it is not required if ‘definition’ appears before the function is called
No Parameter names are required in a function prototype , all you need is parameter type.

Function Definition:

Format for a function definition is given below:

 return-value-type  function-name( parameter-list ){
   declarations and statements }
 Parameter list
 Comma separated list of parameters
 Data type needed for each parameter
 If no parameter, use void or leave blank
 Return-value-type
 Data type of result returned (use void if nothing returned)
 Function Prototype and function header must match
 Function prototype
 Tells compiler argument type and return type of function
 int square( int );
• Function takes an int and returns an int
 return keyword
 Returns data, and control goes to calling function
• If no data to return, use return;
 If no return statement is written, control returns to calling function when reaches right brace of called function
 Functions cannot be defined inside other functions

 Function Call:

this is basically calling/invoking a function, for example:
              –square(x);
•Function name and information (arguments) it needs (argument x)

•After finished, passes back result to calling function
given below are two examples to show the creation and usage of programmer defined functions.





Math Library Functions:

Perform common mathematical calculations
 Include the header file <cmath>
      Functions is called by writing
 functionName (argument);
or
 functionName(argument1, argument2,…);
     for Example:
  cout << sqrt( 900.0 );
 sqrt (square root) function The preceding statement would print 30.0
 All functions in math library return a double
 Function arguments can be
 Constants
 sqrt( 4 );
 Variables
 sqrt( x );
 Expressions
 sqrt( sqrt( x ) ) ;
 sqrt( 3 - 6x );
given below is a table of some math library functions:




Detailed Discussion of Function Prototypes:

          Function prototype contains
        Function name
        Parameters (data type)
        Return type (void if returns nothing)
        Only needed if function definition after function call
          Prototype must match function definition header
        Function prototype
                        double maximum( double, double, double );
        Function Header
                        double maximum( double x, double y, double z )
                        {
                         …
                        }
          A function call that does not match the function prototype is a syntax error
          Function signature:
        Part of prototype with name and parameters
          double maximum( double, double, double );
        Force arguments to be of proper type ie Argument Coercion
          Converting int (4) to double (4.0)
      cout << sqrt(4)
        Conversion rules
          Arguments usually converted automatically
          Changing from double to int can truncate data
        3.4 to 3



About the Author

Unknown

Editorial Team

1 comments:

 
Codexify © 2015 - Designed by Templateism.com