SlideShare una empresa de Scribd logo
1 de 24
1
Functions in C++
CHAPTER V
2
C++ Functions
 In this tutorial, we will learn about the C++ function and function expressions with the help
of examples.
 A function is a block of code that performs a specific task.
 Suppose we need to create a program to create a circle and color it. We can create two
functions to solve this problem:
 a function to draw the circle
 a function to color the circle
 Dividing a complex problem into smaller chunks makes our program easy to understand and
reusable.
 There are two types of function:
1. Standard Library Functions: Predefined in C++
2. User-defined Function: Created by users
In this C++ User-defined Function
 C++ allows the programmer to define their own function.
 A user-defined function groups code to perform a specific task and that group of code is given
a name (identifier).
 When the function is invoked from any part of the program, it all executes the codes defined
in the body of the function.
 tutorial, we will focus mostly on user-defined functions.
3
C++ Function Declaration
The syntax to declare a function is:
returnType functionName (parameter1, parameter2,...) {
// function body
}
Here's an example of a function declaration.
// function declaration
void greet() {
cout << "Hello World";
}
Here,
• the name of the function is greet()
• the return type of the function is void
• the empty parentheses mean it doesn't have any parameters
• the function body is written inside {}
Note: We will learn about returnType and parameters later in this tutorial.
4
Example 1: C++ if Statement
 // Program to print positive number entered by the user
 // If the user enters a negative number, it is skipped
#include <iostream>
using namespace std;
int main() {
int number;
cout << "Enter an integer: ";
cin >> number; // checks if the number is positive
if (number > 0) {
cout << "You entered a positive integer: " << number << endl;
}
cout << "This statement is always executed.";
return 0;
}
5
Calling a Function
In the above program, we have declared a function named greet(). To
use the greet() function, we need to call it.
Here's how we can call the above greet() function.
int main() {
// calling a function
greet();
}
6
Example 1: Display a Text
#include <iostream>
using namespace std;
// declaring a function
void greet() {
cout << "Hello there!";
}
int main() {
// calling the function
greet();
return 0;
}
Output
Hello there!
7
Function Parameters
As mentioned above, a function can be declared with parameters
(arguments). A parameter is a value that is passed when declaring a
function.
For example, let us consider the function below:
void printNum(int num) {
cout << num;
}
Here, the int variable num is the function parameter.
We pass a value to the function parameter while calling the function.
int main() {
int n = 7;
// calling the function
// n is passed to the function as argument
printNum(n);
return 0;
}
8
Example 2: Function with Parameters
// program to print a text
#include <iostream>
using namespace std;
// display a numbe
void displayNum(int n1, float n2) {
cout << "The int number is " << n1;
cout << "The double number is " << n2;
}
int main() {
int num1 = 5;
double num2 = 5.5;
// calling the function
displayNum(num1, num2);
return 0;
}
Output
The int number is 5
The double number is 5.5
9
• In the above program, we have used a function that has one int parameter and one double
parameter.
• We then pass num1 and num2 as arguments. These values are stored by the function
parameters n1 and n2 respectively.
Note: The type of the arguments passed while calling the function must
match with the corresponding parameters defined in the function
declaration.
10
Return Statement
• In the above programs, we have used void in the function declaration.
For example,
void displayNumber() { // code}
• This means the function is not returning any value.
• It's also possible to return a value from a function. For this, we need to
specify the returnType of the function during function declaration.
• Then, the return statement can be used to return a value from a function.
For example,
int add (int a, int b) {
return (a + b);
}
• Here, we have the data type int instead of void. This means that the
function returns an int value.
• The code return (a + b); returns the sum of the two parameters as the
function value.
• The return statement denotes that the function has ended. Any code after
return inside the function is not executed.
11
Example 3: Add Two Numbers
// program to add two numbers using a function
#include <iostream>
using namespace std;
// declaring a function
int add(int a, int b) {
return (a + b);
}
int main() {
int sum;
// calling the function and storing
// the returned value in sum
sum = add(100, 78);
cout << "100 + 78 = " << sum << endl;
return 0;
}
Output
100 + 78 = 178
12
• In the above program, the add() function is used to find the sum of two numbers.
• We pass two int literals 100 and 78 while calling the function.
• We store the returned value of the function in the variable sum, and then we print it.
Notice that sum is a variable of int type. This is because the return value of add() is of int type.
Function Prototype
• In C++, the code of function declaration should be before the function call.
• However, if we want to define a function after the function call, we need to use the
function prototype. For example,
// function prototype
void add(int, int);
int main() {
// calling the function before declaration.
add(5, 3);
return 0;
}
// function definition
void add(int a, int b) {
cout << (a + b);}
• In the above code, the function prototype is:
void add(int, int);
• This provides the compiler with information about the function name and its
parameters.
• That's why we can use the code to call a function before the function has been
defined.
• The syntax of a function prototype is:
returnType functionName(dataType1, dataType2, ...);
14
Example 4: C++ Function Prototype
// using function definition after main() function;// function prototype is declared before
main()
#include <iostream>using namespace std;
// function prototype
int add(int, int);
int main() {
int sum;
// calling the function and storing
// the returned value in sum
sum = add(100, 78);
cout << "100 + 78 = " << sum << endl;
return 0;
}
// function definition
int add(int a, int b) {
return (a + b);
}
Output
100 + 78 = 178
The above program is nearly identical to Example 3. The only difference is that here,
the function is defined after the function call.That's why we have used a function
15
Benefits of Using User-Defined Functions
• Functions make the code reusable. We can declare them once and use them multiple
times.
• Functions make the program easier as each small task is divided into a function.
• Functions increase readability.
C++ Library Functions
• Library functions are the built-in functions in C++ programming.
• Programmers can use library functions by invoking the functions directly; they don't
need to write the functions themselves.
• Some common library functions in C++ are sqrt(), abs(), isdigit(), etc.
• In order to use library functions, we usually need to include the header file in which
these library functions are defined.
• For instance, in order to use mathematical functions such as sqrt() and abs(), we need to
include the header file cmath.
16
Example 5: C++ Program to Find the Square Root of a Number
#include <iostream>
#include <cmath>
using namespace std;
int main() {
double number,
squareRoot;
number = 25.0;
// sqrt() is a library function to calculate the square root
squareRoot = sqrt(number);
cout << "Square root of " << number << " = " << squareRoot;
return 0;
}
Output
Square root of 25 = 5
In this program, the sqrt() library function is used to calculate the square
root of a number.
The function declaration of sqrt() is defined in the cmath header file.
That's why we need to use the code #include <cmath> to use the sqrt() function.
17
C++ Function Overloading
• In this tutorial, we will learn about the function overloading in C++ with examples.
• In C++, two functions can have the same name if the number and/or type of
arguments passed is different.
• These functions having the same name but different arguments are known as
overloaded functions. For example:
// same name different arguments
int test() { }
int test(int a) { }
float test(double a) { }
int test(int a, double b) { }
• Here, all 4 functions are overloaded functions.
• Notice that the return types of all these 4 functions are not the same. Overloaded
functions may or may not have different return types but they must have different
arguments. For example,
// Error code
int test(int a) { }
double test(int b){ }
• Here, both functions have the same name, the same type, and the same number of
arguments. Hence, the compiler will throw an error.
18
Example 1: Overloading Using Different Types of Parameter
// Program to compute absolute value// Works for both int and float
#include <iostream>
using namespace std;
// function with float type parameter
float absolute(float var){
if (var < 0.0)
var = -var;
return var;
}
// function with int type parameter
int absolute(int var) {
if (var < 0)
var = -var;
return var;
}
int main() {
// call function with int type parameter
cout << "Absolute value of -5 = " << absolute(-5) << endl;
// call function with float type parameter
cout << "Absolute value of 5.5 = " << absolute(5.5f) << endl;
return 0;
}
Output
Absolute value of -5 = 5; Absolute value of 5.5 = 5.5
19
• In this program, we overload the absolute() function. Based on the
type of parameter passed during the function call, the corresponding
function is called.
20
Example 2: Overloading Using Different Number of Parameters
#include <iostream>
using namespace std;
// function with 2 parameters
void display(int var1, double var2) {
cout << "Integer number: " << var1;
cout << " and double number: " << var2 << endl;
}
// function with double type single parameter
void display(double var) {
cout << "Double number: " << var << endl;
}
// function with int type single parameter
void display(int var) {
cout << "Integer number: " << var << endl;
}
int main() {
int a = 5; double b = 5.5;
// call function with int type parameter
display(a);
// call function with double type parameter
display(b);
// call function with 2 parameters
display(a, b);
return 0;
}
Output
Integer number: 5; Float number: 5.5; Integer number: 5 ; and double number: 5.5
21
• Here, the display() function is called three times with different arguments. Depending on the
number and type of arguments passed, the corresponding display() function is called.
• The return type of all these functions is the same but that need not be the case for function
overloading.
22
C++ Storage Class
In this article, you'll learn about different storage classes in C++.
Namely: local, global, static local, register and thread local.
Every variable in C++ has two features: type and storage class.
Type specifies the type of data that can be stored in a variable. For
example: int, float, char etc.
And, storage class controls two different properties of a variable:
lifetime (determines how long a variable can exist) and scope
(determines which part of the program can access it).
Depending upon the storage class of a variable, it can be divided into
4 major types:
•Local variable
•Global variable
•Static local variable
•Register Variable
•Thread Local Storage
1. Local Variable
 A variable defined inside a function (defined inside function body between braces) is called a local
variable or automatic variable.
 Its scope is only limited to the function where it is defined. In simple terms, local variable exists and can
be accessed only inside a function.
 The life of a local variable ends (It is destroyed) when the function exits.
Example 1: Local variable
#include <iostream>
using namespace std;
void test();
int main() {
// local variable to main()
int var = 5;
test();
// illegal: var1 not declared inside main()
var1 = 9;
}
void test(){
// local variable to test()
int var1;
var1 = 6;
// illegal: var not declared inside test()
cout << var;
}
The variable var cannot be used inside test() and var1 cannot be used inside main() function.
24
2. Global Variable
• If a variable is defined outside all functions, then it is called a global variable.
• The scope of a global variable is the whole program. This means, It can be used and changed at any part
of the program after its declaration.
• Likewise, its life ends only when the program ends.
Example 2: Global variable
#include <iostream>
using namespace std;
// Global variable declaration
int c = 12;
void test();
int main(){
++c;
// Outputs 13
cout << c <<endl;
test();
return 0;
}
void test(){
++c;
// Outputs 14
cout << c;
}
Output
13 14
In the above program, c is a global variable.
This variable is visible to both functions main() and test() in the above program.

Más contenido relacionado

La actualidad más candente

Cs1123 3 c++ overview
Cs1123 3 c++ overviewCs1123 3 c++ overview
Cs1123 3 c++ overview
TAlha MAlik
 

La actualidad más candente (20)

C++ Language
C++ LanguageC++ Language
C++ Language
 
C++ Programming Language
C++ Programming Language C++ Programming Language
C++ Programming Language
 
Intro to c++
Intro to c++Intro to c++
Intro to c++
 
Getting started in c++
Getting started in c++Getting started in c++
Getting started in c++
 
Lecture#9 Arrays in c++
Lecture#9 Arrays in c++Lecture#9 Arrays in c++
Lecture#9 Arrays in c++
 
Basics of c++ Programming Language
Basics of c++ Programming LanguageBasics of c++ Programming Language
Basics of c++ Programming Language
 
Python Unit 3 - Control Flow and Functions
Python Unit 3 - Control Flow and FunctionsPython Unit 3 - Control Flow and Functions
Python Unit 3 - Control Flow and Functions
 
C++ Overview PPT
C++ Overview PPTC++ Overview PPT
C++ Overview PPT
 
Python unit 2 as per Anna university syllabus
Python unit 2 as per Anna university syllabusPython unit 2 as per Anna university syllabus
Python unit 2 as per Anna university syllabus
 
46630497 fun-pointer-1
46630497 fun-pointer-146630497 fun-pointer-1
46630497 fun-pointer-1
 
Input processing and output in Python
Input processing and output in PythonInput processing and output in Python
Input processing and output in Python
 
Advanced C - Part 2
Advanced C - Part 2Advanced C - Part 2
Advanced C - Part 2
 
C++ programming
C++ programmingC++ programming
C++ programming
 
Cs1123 3 c++ overview
Cs1123 3 c++ overviewCs1123 3 c++ overview
Cs1123 3 c++ overview
 
USER DEFINE FUNCTIONS IN PYTHON[WITH PARAMETERS]
USER DEFINE FUNCTIONS IN PYTHON[WITH PARAMETERS]USER DEFINE FUNCTIONS IN PYTHON[WITH PARAMETERS]
USER DEFINE FUNCTIONS IN PYTHON[WITH PARAMETERS]
 
Operators and Control Statements in Python
Operators and Control Statements in PythonOperators and Control Statements in Python
Operators and Control Statements in Python
 
C++
C++C++
C++
 
03. Operators Expressions and statements
03. Operators Expressions and statements03. Operators Expressions and statements
03. Operators Expressions and statements
 
Introduction to c++
Introduction to c++Introduction to c++
Introduction to c++
 
DATA TYPE IN PYTHON
DATA TYPE IN PYTHONDATA TYPE IN PYTHON
DATA TYPE IN PYTHON
 

Similar a Chap 5 c++

Similar a Chap 5 c++ (20)

unit_2.pptx
unit_2.pptxunit_2.pptx
unit_2.pptx
 
Lecture 4
Lecture 4Lecture 4
Lecture 4
 
unit_2 (1).pptx
unit_2 (1).pptxunit_2 (1).pptx
unit_2 (1).pptx
 
Function in C++, Methods in C++ coding programming
Function in C++, Methods in C++ coding programmingFunction in C++, Methods in C++ coding programming
Function in C++, Methods in C++ coding programming
 
Functions IN CPROGRAMMING OF ENGINEERING.pptx
Functions IN CPROGRAMMING OF ENGINEERING.pptxFunctions IN CPROGRAMMING OF ENGINEERING.pptx
Functions IN CPROGRAMMING OF ENGINEERING.pptx
 
C++ Functions.ppt
C++ Functions.pptC++ Functions.ppt
C++ Functions.ppt
 
unit3 part2 pcds function notes.pdf
unit3 part2 pcds function notes.pdfunit3 part2 pcds function notes.pdf
unit3 part2 pcds function notes.pdf
 
C++ Functions.pptx
C++ Functions.pptxC++ Functions.pptx
C++ Functions.pptx
 
Chapter 1.ppt
Chapter 1.pptChapter 1.ppt
Chapter 1.ppt
 
Presentation 2 (1).pdf
Presentation 2 (1).pdfPresentation 2 (1).pdf
Presentation 2 (1).pdf
 
16717 functions in C++
16717 functions in C++16717 functions in C++
16717 functions in C++
 
CHAPTER THREE FUNCTION.pptx
CHAPTER THREE FUNCTION.pptxCHAPTER THREE FUNCTION.pptx
CHAPTER THREE FUNCTION.pptx
 
PSPC-UNIT-4.pdf
PSPC-UNIT-4.pdfPSPC-UNIT-4.pdf
PSPC-UNIT-4.pdf
 
arrays.ppt
arrays.pptarrays.ppt
arrays.ppt
 
Functions in C++ programming language.pptx
Functions in  C++ programming language.pptxFunctions in  C++ programming language.pptx
Functions in C++ programming language.pptx
 
Functions in C++.pdf
Functions in C++.pdfFunctions in C++.pdf
Functions in C++.pdf
 
Unit 3 (1)
Unit 3 (1)Unit 3 (1)
Unit 3 (1)
 
Functions
FunctionsFunctions
Functions
 
User Defined Functions
User Defined FunctionsUser Defined Functions
User Defined Functions
 
Amit user defined functions xi (2)
Amit  user defined functions xi (2)Amit  user defined functions xi (2)
Amit user defined functions xi (2)
 

Último

Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Krashi Coaching
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
kauryashika82
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
ciinovamais
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
heathfieldcps1
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
QucHHunhnh
 

Último (20)

Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communication
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
General AI for Medical Educators April 2024
General AI for Medical Educators April 2024General AI for Medical Educators April 2024
General AI for Medical Educators April 2024
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 

Chap 5 c++

  • 2. 2 C++ Functions  In this tutorial, we will learn about the C++ function and function expressions with the help of examples.  A function is a block of code that performs a specific task.  Suppose we need to create a program to create a circle and color it. We can create two functions to solve this problem:  a function to draw the circle  a function to color the circle  Dividing a complex problem into smaller chunks makes our program easy to understand and reusable.  There are two types of function: 1. Standard Library Functions: Predefined in C++ 2. User-defined Function: Created by users In this C++ User-defined Function  C++ allows the programmer to define their own function.  A user-defined function groups code to perform a specific task and that group of code is given a name (identifier).  When the function is invoked from any part of the program, it all executes the codes defined in the body of the function.  tutorial, we will focus mostly on user-defined functions.
  • 3. 3 C++ Function Declaration The syntax to declare a function is: returnType functionName (parameter1, parameter2,...) { // function body } Here's an example of a function declaration. // function declaration void greet() { cout << "Hello World"; } Here, • the name of the function is greet() • the return type of the function is void • the empty parentheses mean it doesn't have any parameters • the function body is written inside {} Note: We will learn about returnType and parameters later in this tutorial.
  • 4. 4 Example 1: C++ if Statement  // Program to print positive number entered by the user  // If the user enters a negative number, it is skipped #include <iostream> using namespace std; int main() { int number; cout << "Enter an integer: "; cin >> number; // checks if the number is positive if (number > 0) { cout << "You entered a positive integer: " << number << endl; } cout << "This statement is always executed."; return 0; }
  • 5. 5 Calling a Function In the above program, we have declared a function named greet(). To use the greet() function, we need to call it. Here's how we can call the above greet() function. int main() { // calling a function greet(); }
  • 6. 6 Example 1: Display a Text #include <iostream> using namespace std; // declaring a function void greet() { cout << "Hello there!"; } int main() { // calling the function greet(); return 0; } Output Hello there!
  • 7. 7 Function Parameters As mentioned above, a function can be declared with parameters (arguments). A parameter is a value that is passed when declaring a function. For example, let us consider the function below: void printNum(int num) { cout << num; } Here, the int variable num is the function parameter. We pass a value to the function parameter while calling the function. int main() { int n = 7; // calling the function // n is passed to the function as argument printNum(n); return 0; }
  • 8. 8 Example 2: Function with Parameters // program to print a text #include <iostream> using namespace std; // display a numbe void displayNum(int n1, float n2) { cout << "The int number is " << n1; cout << "The double number is " << n2; } int main() { int num1 = 5; double num2 = 5.5; // calling the function displayNum(num1, num2); return 0; } Output The int number is 5 The double number is 5.5
  • 9. 9 • In the above program, we have used a function that has one int parameter and one double parameter. • We then pass num1 and num2 as arguments. These values are stored by the function parameters n1 and n2 respectively. Note: The type of the arguments passed while calling the function must match with the corresponding parameters defined in the function declaration.
  • 10. 10 Return Statement • In the above programs, we have used void in the function declaration. For example, void displayNumber() { // code} • This means the function is not returning any value. • It's also possible to return a value from a function. For this, we need to specify the returnType of the function during function declaration. • Then, the return statement can be used to return a value from a function. For example, int add (int a, int b) { return (a + b); } • Here, we have the data type int instead of void. This means that the function returns an int value. • The code return (a + b); returns the sum of the two parameters as the function value. • The return statement denotes that the function has ended. Any code after return inside the function is not executed.
  • 11. 11 Example 3: Add Two Numbers // program to add two numbers using a function #include <iostream> using namespace std; // declaring a function int add(int a, int b) { return (a + b); } int main() { int sum; // calling the function and storing // the returned value in sum sum = add(100, 78); cout << "100 + 78 = " << sum << endl; return 0; } Output 100 + 78 = 178
  • 12. 12 • In the above program, the add() function is used to find the sum of two numbers. • We pass two int literals 100 and 78 while calling the function. • We store the returned value of the function in the variable sum, and then we print it. Notice that sum is a variable of int type. This is because the return value of add() is of int type.
  • 13. Function Prototype • In C++, the code of function declaration should be before the function call. • However, if we want to define a function after the function call, we need to use the function prototype. For example, // function prototype void add(int, int); int main() { // calling the function before declaration. add(5, 3); return 0; } // function definition void add(int a, int b) { cout << (a + b);} • In the above code, the function prototype is: void add(int, int); • This provides the compiler with information about the function name and its parameters. • That's why we can use the code to call a function before the function has been defined. • The syntax of a function prototype is: returnType functionName(dataType1, dataType2, ...);
  • 14. 14 Example 4: C++ Function Prototype // using function definition after main() function;// function prototype is declared before main() #include <iostream>using namespace std; // function prototype int add(int, int); int main() { int sum; // calling the function and storing // the returned value in sum sum = add(100, 78); cout << "100 + 78 = " << sum << endl; return 0; } // function definition int add(int a, int b) { return (a + b); } Output 100 + 78 = 178 The above program is nearly identical to Example 3. The only difference is that here, the function is defined after the function call.That's why we have used a function
  • 15. 15 Benefits of Using User-Defined Functions • Functions make the code reusable. We can declare them once and use them multiple times. • Functions make the program easier as each small task is divided into a function. • Functions increase readability. C++ Library Functions • Library functions are the built-in functions in C++ programming. • Programmers can use library functions by invoking the functions directly; they don't need to write the functions themselves. • Some common library functions in C++ are sqrt(), abs(), isdigit(), etc. • In order to use library functions, we usually need to include the header file in which these library functions are defined. • For instance, in order to use mathematical functions such as sqrt() and abs(), we need to include the header file cmath.
  • 16. 16 Example 5: C++ Program to Find the Square Root of a Number #include <iostream> #include <cmath> using namespace std; int main() { double number, squareRoot; number = 25.0; // sqrt() is a library function to calculate the square root squareRoot = sqrt(number); cout << "Square root of " << number << " = " << squareRoot; return 0; } Output Square root of 25 = 5 In this program, the sqrt() library function is used to calculate the square root of a number. The function declaration of sqrt() is defined in the cmath header file. That's why we need to use the code #include <cmath> to use the sqrt() function.
  • 17. 17 C++ Function Overloading • In this tutorial, we will learn about the function overloading in C++ with examples. • In C++, two functions can have the same name if the number and/or type of arguments passed is different. • These functions having the same name but different arguments are known as overloaded functions. For example: // same name different arguments int test() { } int test(int a) { } float test(double a) { } int test(int a, double b) { } • Here, all 4 functions are overloaded functions. • Notice that the return types of all these 4 functions are not the same. Overloaded functions may or may not have different return types but they must have different arguments. For example, // Error code int test(int a) { } double test(int b){ } • Here, both functions have the same name, the same type, and the same number of arguments. Hence, the compiler will throw an error.
  • 18. 18 Example 1: Overloading Using Different Types of Parameter // Program to compute absolute value// Works for both int and float #include <iostream> using namespace std; // function with float type parameter float absolute(float var){ if (var < 0.0) var = -var; return var; } // function with int type parameter int absolute(int var) { if (var < 0) var = -var; return var; } int main() { // call function with int type parameter cout << "Absolute value of -5 = " << absolute(-5) << endl; // call function with float type parameter cout << "Absolute value of 5.5 = " << absolute(5.5f) << endl; return 0; } Output Absolute value of -5 = 5; Absolute value of 5.5 = 5.5
  • 19. 19 • In this program, we overload the absolute() function. Based on the type of parameter passed during the function call, the corresponding function is called.
  • 20. 20 Example 2: Overloading Using Different Number of Parameters #include <iostream> using namespace std; // function with 2 parameters void display(int var1, double var2) { cout << "Integer number: " << var1; cout << " and double number: " << var2 << endl; } // function with double type single parameter void display(double var) { cout << "Double number: " << var << endl; } // function with int type single parameter void display(int var) { cout << "Integer number: " << var << endl; } int main() { int a = 5; double b = 5.5; // call function with int type parameter display(a); // call function with double type parameter display(b); // call function with 2 parameters display(a, b); return 0; } Output Integer number: 5; Float number: 5.5; Integer number: 5 ; and double number: 5.5
  • 21. 21 • Here, the display() function is called three times with different arguments. Depending on the number and type of arguments passed, the corresponding display() function is called. • The return type of all these functions is the same but that need not be the case for function overloading.
  • 22. 22 C++ Storage Class In this article, you'll learn about different storage classes in C++. Namely: local, global, static local, register and thread local. Every variable in C++ has two features: type and storage class. Type specifies the type of data that can be stored in a variable. For example: int, float, char etc. And, storage class controls two different properties of a variable: lifetime (determines how long a variable can exist) and scope (determines which part of the program can access it). Depending upon the storage class of a variable, it can be divided into 4 major types: •Local variable •Global variable •Static local variable •Register Variable •Thread Local Storage
  • 23. 1. Local Variable  A variable defined inside a function (defined inside function body between braces) is called a local variable or automatic variable.  Its scope is only limited to the function where it is defined. In simple terms, local variable exists and can be accessed only inside a function.  The life of a local variable ends (It is destroyed) when the function exits. Example 1: Local variable #include <iostream> using namespace std; void test(); int main() { // local variable to main() int var = 5; test(); // illegal: var1 not declared inside main() var1 = 9; } void test(){ // local variable to test() int var1; var1 = 6; // illegal: var not declared inside test() cout << var; } The variable var cannot be used inside test() and var1 cannot be used inside main() function.
  • 24. 24 2. Global Variable • If a variable is defined outside all functions, then it is called a global variable. • The scope of a global variable is the whole program. This means, It can be used and changed at any part of the program after its declaration. • Likewise, its life ends only when the program ends. Example 2: Global variable #include <iostream> using namespace std; // Global variable declaration int c = 12; void test(); int main(){ ++c; // Outputs 13 cout << c <<endl; test(); return 0; } void test(){ ++c; // Outputs 14 cout << c; } Output 13 14 In the above program, c is a global variable. This variable is visible to both functions main() and test() in the above program.