#include <iostream>
using namespace std;
void callByValue(int a)
{
a = 10;
cout << "Inside callByValue: " << a << endl;
}
void callByReference(int &a)
{
a = 10;
cout << "Inside callByReference: " << a << endl;
}
void callByRef(int* a)
{
*a = 10;
cout << "Inside callByRef: " << *a << endl;
}
int main()
{
cout << "Let start!\n";
int i;
i = 0;
cout << "Before callByValue: " << i << endl;
callByValue(i);
cout << "After callByValue: " << i << endl;
i = 0;
cout << "Before callByReference: " << i << endl;
callByReference(i);
cout << "After callByReference: " << i << endl;
i = 0;
cout << "Before callByRef: " << i << endl;
callByRef(&i);
cout << "After callByRef: " << i << endl;
return 0;
}