Return by reference

Aug 30, 2018

Like the variable alias in passing arguments as reference, the return by reference returns the alias. The return by reference mechanism allows us to write the function on the left hand side of the equality expression. Let's look at the c style of returning address.

int *max(int *n1, int *n2){

  if(*n1 > *n2)

    return n1;

  else

    return n2;

}

and the funtion is called as.

*max(&num1, &num2) = 100;

the above call assigns the number 100 to the larger number.

In C++, the same mechanism can be achieved as

int &max(int &n1, int &n2){

  if(n1 > n2)

    return n1;

  else

    return n2;

}

 and is called as.

max(num1, num2) = 100;

 

Q. Write a program to read two numbers from the user. Assign the number -1 to the smallest number using return by reference.

#include
using namespace std;

//function to return the reference of smallest number
int &smallest(int &num1, int &num2){
if(num1 < num2)
return num1;
else
return num2;
}

int main(){
int n1,n2;
cout<<"Enter number 1:"<<endl;
cin>>n1;
cout<<"Enter number 2:"<<endl;
cin>>n2;
cout<<"Numbers are :"<<n1<<" and "<<n2<<endl;
smallest(n1,n2) = -1;
cout<<"After calling function Numbers are :"<<n1<<" and "<<n2<<endl;
return 0;
}

 

 

Related


31 Write a program to enter the name and salary for a number of employees, store them all in a file, and finally search and display the salary...............
Date: Sep 22, 2018
32 Write a program, using a class to read the contents of the text file and convert all upper case letters to lower case and vice-versa and write the result in to another file.
Date: Sep 22, 2018
33 Write a program to enter the id and price of a number of products, store them all in a user defined file, and search the product when particular id is entered.
Date: Sep 22, 2018
34 Write a program using class template to sort two lists of numbers, one integer list and another floating point list.
Date: Sep 23, 2018
35 Write a program using function template to sort two lists of numbers, one integer list and another floating point list.
Date: Sep 23, 2018
36 Write a program using function template to find the sum of first and last element of an array.
Date: Sep 23, 2018
37 Write a template function to find the maximum number from the template array of size N.
Date: Sep 23, 2018
38 Write a function template to swap the numbers.
Date: Sep 23, 2018
39 Write a program using class template to swap two set of numbers.(one integer set and another floating point set)
Date: Sep 23, 2018
40 Exception handling in C++
Date: Aug 11, 2019
41 Explain the concept of encapsulation and information hiding In an object oriented paradigm with the help of an example.
Date: Sep 2, 2019
42 Write a program to find sum of first and last element of an array demonstrating use of new and delete operator.
Date: Sep 2, 2019
43 Write a program to compare two integer numbers and two single character using function overloading.
Date: Sep 2, 2019
44 Write an oop to create a class named “Time” with data objects and two member functions to add two member functions to add two times and display the resultant time.
Date: Sep 2, 2019
45 Write a program to define a class “string” using constructor initialize two string objects with given strings and write necessary functions to concatenate and display the strings.
Date: Sep 2, 2019

Tools/Apps





© Nepal Exchange Rates