This blog is about providing theory as well as simple executable codes of different programming languages such as java, C, C++, and web programming, etc. This blog will be helpful to the IT students to learn about programming.

Showing posts with label function overloading. Show all posts
Showing posts with label function overloading. Show all posts

Wednesday, March 1, 2023

List and explain different types of operators in C++. Explain function overloading with a suitable program.

March 01, 2023 0

 In C++, operators are special symbols used to perform operations on variables and values. There are different types of operators in C++, which are as follows:

  1. Arithmetic operators: These operators are used to perform arithmetic operations such as addition, subtraction, multiplication, division, and modulus. For example, +, -, *, /, %.
  2. Assignment operators: These operators are used to assign a value to a variable. For example, =, +=, -=, *=, /=, %=.
  3. Comparison operators: These operators are used to compare two values and return true or false. For example, ==, !=, <, >, <=, >=.
  4. Logical operators: These operators are used to perform logical operations such as AND, OR, and NOT. For example, &&, ||, !.
  5. Bitwise operators: These operators are used to perform bitwise operations such as AND, OR, XOR, left shift, and right shift. For example, &, |, ^, <<, >>.
  6. Unary operators: These operators are used to perform operations on a single operand. For example, ++, --, !, ~.
  7. Ternary operator: This operator is a conditional operator that takes three operands and returns one of them based on the value of the condition. For example, (condition) ? value1 : value2.

Function overloading is a feature in C++ that allows multiple functions to have the same name but different parameters. This feature is used to create functions that perform the same task but with different data types or number of parameters. The compiler selects the appropriate function based on the type and number of arguments passed to the function.

Here's an example program that demonstrates function overloading:

#include <iostream>
using namespace std;
int add(int a, int b)
{
    return a + b;
}
double add(double a, double b)
{
    return a + b;
}
int main()
{
    int x = add(5, 10);
    double y = add(3.14, 2.71);
    cout << "Sum of 5 and 10 is " << x << endl;
    cout << "Sum of 3.14 and 2.71 is " << y << endl;
    return 0;
}

In this program, we have defined two functions with the same name "add" but with different parameters (int and double). The first function takes two integers as arguments and returns their sum, while the second function takes two doubles as arguments and returns their sum. In the main function, we have called both functions with different arguments and displayed the results. The output of the program will be:

Sum of 5 and 10 is 15
Sum of 3.14 and 2.71 is 5.85

As we can see, the compiler has selected the appropriate function based on the type of arguments passed to the function. This is an example of function overloading in C++.

Tuesday, February 28, 2023

Discuss function overloading with example.

February 28, 2023 0

 Function overloading is a feature in C++ that allows us to have multiple functions with the same name, but with different parameters. The compiler decides which function to call based on the number, type, and order of the parameters passed.

Here's an example to demonstrate function overloading:

#include <iostream>
using namespace std;
// Function to calculate area of a square
int area(int side) {
    return side * side;
}
// Function to calculate area of a rectangle
int area(int length, int breadth) {
    return length * breadth;
}
// Function to calculate area of a circle
float area(float radius) {
    return 3.14 * radius * radius;
}
int main() {
    int s = 5, l = 10, b = 5;
    float r = 2.5;
    cout << "Area of square with side " << s << " is " << area(s) << endl;
    cout << "Area of rectangle with length " << l << " and breadth " << b << " is " << area(l, b) << endl;
    cout << "Area of circle with radius " << r << " is " << area(r) << endl;
    return 0;
}

In this example, we have defined three functions named area with the same name but different parameters. The first function calculates the area of a square, the second function calculates the area of a rectangle, and the third function calculates the area of a circle.

When we call the area function in the main function with different parameters, the compiler decides which function to call based on the type and number of parameters passed. For example, when we pass an integer parameter to the area function, the compiler calls the function that takes an integer parameter, and when we pass a float parameter, the compiler calls the function that takes a float parameter.

This is how function overloading works in C++.

Monday, February 27, 2023

Define function prototype. How function overloading is achieved? Mention advantages of using inline function.

February 27, 2023 0

 A function prototype is a declaration of a function that specifies the function's name, return type, and parameter types. It is used to inform the compiler about the existence of a function before it is called in the program.

Function overloading is achieved by defining multiple functions with the same name but different parameter lists. When a function call is made with a particular name, the compiler determines which function to call based on the number, types, and order of the arguments passed. This allows a programmer to define functions that perform similar operations but with different data types or number of arguments. The compiler distinguishes between the different functions based on their signatures.

For example, consider the following functions:

void add(int a, int b);
void add(double a, double b);

Both functions are named "add", but one takes two integers as arguments while the other takes two doubles. When the program calls the "add" function, the compiler checks the argument types and decides which function to execute.

Function overloading provides several advantages, including making the code more readable, improving code reusability, and reducing the need for separate function names for similar operations.

Advantages of using inline function:

  1. Faster Execution: Inline functions can be executed faster than regular functions because there is no function call overhead. The code of the function is inserted directly into the calling code.
  2. Code Optimization: Inline functions can help optimize the code by reducing the number of function calls and making the code more readable.
  3. Improved Performance: Inline functions can improve the performance of the program by reducing the time required to execute function calls.
  4. Avoidance of Call Stack Overhead: Since inline functions don’t use the call stack, it can save time that would have been used to push and pop data on the call stack.

Slider Widget