Default arguments in C++

Sep 2, 2018

There is no provision for supplying less number of arguments to the function during its call in C programming; C++ supports this type of feature, and the feature is achieved by default arguments mechanism. The default values for the function arguments are specified when function is declared, and is specified as variable initialization. The default values can be constants, global variables, or even a function call.

Example.

#include<iostream>
using namespace std;
// example of default arguments

int sum(int s1 = 10, int s2 = 20, int s3 = 30){
	return s1 + s2 + s3;
}

int main(){
	cout<<"With no arguments :"<<sum()<<endl;
	cout<<"With one arguments :"<<sum(50)<<endl;
	cout<<"With two arguments :"<<sum(50, 60)<<endl;
	cout<<"With three arguments :"<<sum(50, 60, 70)<<endl;
	return 0;
}

 

Sample Run:

With no arguments :60
With one arguments :100
With two arguments :140
With three arguments :180

 

key points regarding default arguments

  • Default arguments are different from constant arguments as constant arguments can't be changed whereas default arguments can be overwritten if required.
  • All of the default arguments must be in the right part of the parameter list. Suppose a function has more than one default arguments. In a function call, if a value of a default argument is not specified, then the arguments from the right are omitted.
  • There will be a problem if the default arguments are declared by making the right most arguments default. for example, the declarations are invalid. 

        int sum(int s1, int s2=10,int s3); //error

        int sum(int s1, int s2,int s3); //error

        int sum(int s1=60, int s2=10,int s3); //error

Related


16 Default arguments in C++
Date: Sep 2, 2018
17 Friend Function, Friend class
Date: Sep 4, 2018
18 What are friend functions ? Is it possible for a function to be friend of two classes ? If yes then how is it implemented in C++. Explain with suitable example. ---PU-2016 (New Course)
Date: Sep 10, 2018
19 Write an OOP to add two complex numbers using passing objects as arguments. ---PU_2015
Date: Sep 10, 2018
20 Write a Program to add two complex numbers using friend function. ----PU_2015
Date: Sep 10, 2018
21 What are constructors and destructors ? Write a Object Oriented Program to display Fibonacci series (Use constructor for initialization) ----PU-2014
Date: Sep 15, 2018
22 Write a OOP to create a class named "Time" with data members 'hour' and 'minute' a constructor to initialize............. ---PU-2011
Date: Sep 15, 2018
23 What is "this" pointer ? Illustrate with example.
Date: Sep 15, 2018
24 Write a program to create class “Counter” having integer data member, overload the post increment, post decrement, pre increment and pre decrement for the class “Counter”.
Date: Sep 15, 2018
25 Write a Program to overload the unary minus operator using friend function.
Date: Sep 15, 2018
26 Write a OOP to overload "==" operator to determine the equality of two fractional numbers (fractional numbers must be in terms of numerator and denominator)
Date: Sep 15, 2018
27 Write a program to create classes “Dollar” and “Rupee”. Write conversion routine to convert dollar to rupee (1 dollar = 108 rupees).
Date: Sep 15, 2018
28 Write a Program to convert angle in degree to angle in radian. where, angle in radian = angle in degree * PI/180. Use Conversion routine in source class.
Date: Sep 15, 2018
29 Write a program which asks file name from keyboard, opens a file with that name for output, reads the line from keyboard character by character and writes the line onto the file.
Date: Sep 22, 2018
30 WAP to to read the text from the file named "hello.txt" to the file name called "test.txt".
Date: Sep 22, 2018

Tools/Apps





© Nepal Exchange Rates