Full Version: Tutorial on Functions
Dream.In.Code > Programming Tutorials > C++ Tutorials
manhaeve5
Functions,

This is a tutorial on how to create functions and what you can do with them.
This is the syntax used to declare functions:
CODE
"return data type" "name of function" ("all the parameters, seperated by a comma");

Examples:
void noParameters(); //Takes no paramerers, returns nothing.
void test (int a, int b); //Takes two integer parameters, returns nothing.
int sum(int a, int b); //Takes two integer parameters, returns an integer.

As you can see, you dont need to include parameters.

Right, lets start with the a simple function:
CODE
#include <iostream>

using namespace std;

void testfunction(); //you need to declare each function just like a variable

int main(){
testfunction(); // call your function
return 0;
}

void testfunction(){ //here goes the code in your function
cout<<"This is a function"<<endl;
}

As you can see, it is quite simple. Declare a function, write that function and call it.
Ok, so if you want to let your function calculate something you need to give your function parameters.
CODE
#include <iostream>

using namespace std;

void calculate(int a,int b); //you need to give the parameters after the name of your function

int main(){
calculate(10,21);// call your function
return 0;
}

void calculate(int a,int b){//here goes the [code] in your function
int c=a+b;
cout<<"the solution is "<<c<<endl;
}

Here you go, a function that takes two parameters and calculates the sum.
Now if you dont want to display the result, instead you can calculate two numbers and give the sum as value for a third integer. You can do this in two ways:
The first 1, using return
CODE
#include <iostream>

using namespace std;
int calculate(int a;int b); //yes, an integer as a function

int main(){
int sum = calculate(10,20);
cout << sum; //the integers' value is now 30
return 0;
}

int calculate(int a,int b)
{
c = a + b;
return c; //return the value of the int c
}

This might look strange but the function will be handled as an ordinary integer, you can use it to assign it to an integer or you can display it directly:
CODE
cout<<calculate(10,20)

Now, the second way is using referances:
CODE
#include <iostream>

using namespace std;

void calculate(int a,int b,int& c); //you need to give the parameters after the name of your function

int main(){
int sum;
calculate(10,20,sum);
cout<<sum;//the integers' value is now 30
return 0;
}

void calculate(int a,int b,int& c) //the last parameter is a reference to an int, this will hold the sum of the 2 first integers
{
c=a+b;
}

Let me explain this: if you give a parameter to a function it will make a copy of it, so it wont change the values, by giving it a reference, it will change the value of the refered integer.
Sometimes this will be useful and sometimes it wont.
eredeath
Good tutorial :-)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2008 Invision Power Services, Inc.