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


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