int squareroot( int ); // function declaration
cout<< “Enter Number :”<<endl;
a= squareroot (n); // function calling
cout<<“Square Root of “n ” : “<<a<<endl;
int b= squareroot (5);
cout<<“Square Root of 5 : “<<b<<endl;
int squareroot( int num ) // function definition
}
इस उदाहरण मे main() function मे ,squareroot() function को दो बार call किया गया है | पहली बार variable number की value को pass किया गया है | दूसरी बार integer ‘5’ को function के argument मे pass किया है |इसका आउटपुट होगा :-
Enter Number : 9
Square Root of 9 : 81
Square Root of 5 : 25
Function Syntax
function का syntax main() function की तरह होता है | इसका syntax होता है :-
type function name (arguments)
{
statements;
}
यहा पर :
type : ये function से return होने वाले value के type को define करता है |
function name : ये function का नाम होता है |
arguments: function मे perform होने वाले operation के लिए information को define करता है |
statements: ये task को define करता है |
इसका उदाहरण होता है :
void print(char a)
{
int i;
for(i=0;i<20;i++)
{
cout<<a;
}
}
इस उदाहरण से character ‘a’ के value को 20 बार print किया जाता है |इसमें
type – void : जो की define करता है function से कोई भी value return नहीं हो रही है |
function name- print : ये function का नाम है |
arguments – char a : यहा पर character ‘a’ की value print किया जाता है |
statements – variable declaration , looping |
C++ मे function definition को अलग अलग ही define करना होता है | किसी function की definition मे किसी दुसरे function को define नहीं कर सकते है |
Function Header
उपर वाले उदहारण मे एक function header है :- void print(char a) | यहा पर void no return value को define करता है |क्योकि print function से कोई value generate नहीं हो रही है |
अतः जब इस function को main() मे call किया जाता है तब
void print( char ); // function declaration
cout<< “Enter character : “<<endl;
cin>>n;
cout<< “Enter character : “<<endl;
print(n); // function calling
cout<<“Welcome C++ World”<<endl;
print(n); // function calling
void print(char o)
{
int i;
for(i=0;i<20;i++)
{
cout<<o;
}
}
सबसे पहले variable ‘n’ की value function मे pass किया जाता है | और दूसरी बार ‘a’ की value को function मे pass किया जाता है |अगर प्रोग्रामर निन्म syntax को function call के लिए use करता है error message आ जाता है |
char a= print (n) ; // wrong syntax //
अगर प्रोग्रामर integer को function मे से return करना चाहता है तब function header होगा :
int add(int , int );
अगर प्रोग्रामर double type को function मे से return करना चाहता है तब function header होगा :
double div (int , int );
Main () function header :
जब main() function के header निन्म तरह से लिखते है
int main()
{
}
इस syntax का मतलब होता main() function से integer value return होगी और खाली () का मतलब है की main() function मे कोई भी arguments pass नहीं हो रहे है |जिस function के header मे return type होता है उस function की body मे return statement जरुर होता है | इसलिए int main() function के end मे return 0 जरुर होता है |
return 0 का क्या मतलब होता है ?
जब कंप्यूटर operating system ( UNIX, say और DOS ) मे main() को discuss किया जाता है |तब main() function मे return की गयी value operating system मे डायरेक्ट return होती है | ये operating system ,इन return value को use करते है | उदाहरण के लिए :
unix shell script और DOS batch file को प्रोग्राम की return value को check करने के लिए बनाया जाता है |इसे exit value भी कहते है | जब exit value की value ‘0’ होती है इसका मतलब होता है की प्रोग्रम्म successfully run हो गया है | non zero exit value का मतलब है error in program|
User define function with return value
जब किसी User define function मे return statement को लिखना बहुत सरल होता है |इसका syntax होता है :-
return (return value );
return statement हमेशा function के end मे होता है | इसका उदाहरण है :
#include<iostream.h>
#include<conio.h>
int add ( int , int ); // function declaration
void main()
{
int n,a;
cout<< “Enter First Number :”<<endl;
cin>>n;
cout<<“Enter Second Number :”<<endl;
cin>>a;
int o= add(n,a);
cout << “Addition of Numbers : “<< o << endl;
getch();
}
int add ( int c , int d )
{
int sum ;
sum= c+d;
return (sum);
}इस उदाहरण मे , add () function से दोनों numbers के addition के आउटपुट को return किया जा रहा है जिसे variable ‘o’ मे assign किया गया है | इसका आउटपुट होगा :
Enter First Number : 23
Enter Second Number : 34
Addition of Numbers : 57
इस article मे User Define Function के basic को discuss किया है | function topic मे इसे सार से discuss करेगे |