Thursday 23 July 2015

Writing Functions in C++: Part 4

Today we shall continue discussing functions in C++. You can check out parts one, two and three.

References and Reference Parameters

          Call by value
        Copy of data passed to function
        Changes to copy do not change original
        Prevent unwanted side effects
          Call by reference
        Called Function can directly access data of calling function
        Changes affect original
          Reference parameter
        Alias for argument in function call
          Passes parameter by reference
        Use & after data type in prototype
          void myFunction( int &data )
          Read “data is a reference to an int
        Function call format the same
          However, original can now be changed




          Pointers
        Another way to pass-by-reference
          References as aliases to other variables
        Refer to some variable and only one variable
          References must be initialized when declared
        Otherwise, compiler error



Default Arguments

•Function call with omitted parameters
–If not enough parameters, rightmost go to their defaults
–Default values
•Can be global variables, constants, expressions or function calls
•Set defaults in function prototype
  int myFunction( int x = 1, int y = 2, int z = 3 );
myFunction(3)
x = 3, y and z get defaults (rightmost)
myFunction(3, 5)
x = 3, y = 5 and z gets default



Unitary Scope Resolution Operator

•Unary scope resolution operator (::)
–Access global variable if local variable has same name
–Not needed if names are different
–Use ::variable
y = ::x + 3;
–Good to avoid using same names for locals and globals



About the Author

Unknown

Editorial Team

Post a Comment

 
Codexify © 2015 - Designed by Templateism.com