A function is a set of statements that take inputs, do some specific computation,and produce output. The idea is to put some commonly or repeatedlydone tasks together and make a function so that instead of writing the same code again and again for different inputs, we can call the function. Show
Syntax: Syntax of Function Example: C++
Why Do We Need Functions?
Function DeclarationA function declaration tells the compiler about the number of parameters function takes data-types of parameters, and returns the type of function. Putting parameter names in the function declaration is optional in the function declaration, but it is necessary to put them in the definition. Below are an example of function declarations. (parameter names are not there in the below declarations) Function Declaration Example: C++
Types of FunctionsTypes of Function in C++ User Defined FunctionUser Defined functions are user/customer-defined blocks of code specially customized to reduce the complexity of big programs. They are also commonly known as “tailor-made functions” which are built only to satisfy the condition in which the user is facing issues meanwhile reducing the complexity of the whole program. Library FunctionLibrary functions are also called “builtin Functions“. These functions are a part of a compiler package that is already defined and consists of a special function with special and different meanings. Builtin Function gives us an edge as we can directly use them without defining them whereas in the user-defined function we have to declare and define a function
before using them. Parameter Passing to FunctionsThe parameters passed to function are called actual parameters. For example, in the program below, 5 and 10 are actual parameters. Formal Parameter and Actual Parameter There are two most popular ways to pass parameters:
Function DefinitionPass by reference is used where the value of x is not modified using the function fun(). C++
Functions Using PointersThe function fun() expects a pointer ptr to an integer (or an address of an integer). It modifies the value at the address ptr. The dereference operator * is used to access the value at an address. In the statement ‘*ptr = 30’, the value at address ptr is changed to 30. The address operator & is used to get the address of a variable of any data type. In the function call statement ‘fun(&x)’, the address of x is passed so that x can be modified using its address. C++
Difference between call by value and call by reference in C++
Points to Remember About Functions in C++1. Most C++ program has a function called main() that is called by the operating system when a user runs the program. 2. Every function has a return type. If a function doesn’t return any value, then void is used as a return type. Moreover, if the return type of the function is void, we still can use the return statement in the body of the function definition by not specifying any constant, variable, etc. with it, by only mentioning the ‘return;’ statement which would symbolize the termination of the function as shown below: C++
3. To declare a function that can only be called without any parameter, we should use “void fun(void)“. As a side note, in C++, an empty list means a function can only be called without any parameter. In C++, both void fun() and void fun(void) are same. Main FunctionThe main function is a special function. Every C++ program must contain a function named main. It serves as the entry point for the program. The computer will start running the code from the beginning of the main function. Types of Main Functions1. Without parameters:CPP
2. With parameters:CPP
The reason for having the parameter option for the main function is to allow input from the command line. When you use the main
function with parameters, it saves every group of characters (separated by a space) after the program name as elements in an array named argv. C++ RecursionWhen function is called within the same function, it is known as recursion in C++. The function which calls the same function, is known as recursive function. C++
To know more see this article. C++ Passing Array to FunctionIn C++, to reuse the array logic, we can create function. To pass array to function in C++, we need to provide only array name. functionname(arrayname); //passing array to function Example: Print minimum number C++
Output Minimum element is: 10 C++ Overloading (Function)If we create two or more members having the same name but different in number or type of parameter, it is known as C++ overloading. In C++, we can overload:
It is because these members have parameters only. Types of overloading in C++ are:
C++ Function OverloadingFunction Overloading is defined as the process of having two or more function with the same name, but different in parameters is known as function overloading in C++. In function overloading, the function is redefined by using either different types of arguments or a different number of arguments. It is only through these differences compiler can differentiate between the functions. C++
Example: when the type of the arguments vary. C++
Output r1 is : 42 r2 is : 0.6 Function Overloading and AmbiguityWhen the compiler is unable to decide which function is to be invoked among the overloaded function, this situation is known as function overloading.
Type Conversion:- C++
The above example shows an error “call of overloaded ‘fun(double)’ is ambiguous“. The fun(10) will call the first function. The fun(1.2) calls the second function according to our prediction. But, this does not refer to any function as in C++, all the floating point constants are treated as double not as a float. If we replace float to double, the program works. Therefore, this is a type conversion from
float to double. C++
The above example shows an error “call of overloaded ‘fun(int)’ is ambiguous“. The fun(int a, int b=9) can be called in two ways: first is by calling the function with one argument, i.e., fun(12) and another way is calling the function with two arguments, i.e., fun(4,5). The fun(int i) function is invoked with one argument. Therefore, the compiler could not be able to select
among fun(int i) and fun(int a,int b=9). C++
The above example shows an error “call of overloaded ‘fun(int&)’ is ambiguous“. The first function takes one integer argument and the second function takes a reference parameter as an argument. In this case, the compiler does not know which function is needed by the user as there is no syntactical difference between the fun(int) and fun(int &). What is the first line in a function called?The first line of the function definition is called the header; the rest is called the body. The header has to end with a colon and the body has to be indented. By convention, the indentation is always four spaces (see Section 3.13). The body can contain any number of statements.
What is the term used by programmers to describe the part of a program in which a variable may be accessed?A local variable's scope is the part of a program in which the variable may be accessed and is only visible to the statements in the variable's scope.
What is a group of statements that exists within a program for the purpose of performing?A function is a group of statements that exist within a program for the purpose of performing a specific task.
When a function is called by its name during the execution of a program it is?When a function is called by its name during the execution of a program, then it is. executed.
|