Wydaje mi się, że w symfoni jest tego typu przykład, chyba z hydraulikiem z tego co pamiętam. Ale masz tu zastosowanie wszystkich trzech przesyłań.
<cpp>#include <iostream>
using namespace std;
// zastosowałem tutaj dosyć ciekawe urządzenie w C++ mianowicie przeładowanie funkcji ;] będzie o tym w 9 rozdziale ;]
void zamien(int liczba, int liczba2)
{
liczba += 100;
liczba2 += 50;
}
void zamien(int* liczba, int* liczba2)
{
*liczba += 100;
*liczba2 += 50;
}
void zamienref(int& liczba, int &liczba2)
{
liczba += 100;
liczba2 += 50;
}
// to dodatkowo jak możesz wykorzystać przesyłanie przez wartość i otrzymać to co planowałeś.
int podmien(int liczba, int liczba2)
{
liczba += 100;
liczba2 += 50;
return liczba;
} // niestety jeśli prześlesz do funkcji dwa argumenty, to w ten sposób będziesz mógł zwrócić tylko jeden z nich, drugi pozostanie bez zmian.
int main()
{
int a = 5, b = 12;
cout << "Liczba a = " << a << ", a liczba b = " << b << endl;
zamien(a, b);
cout << "Liczba a = " << a << ", a liczba b = " << b << endl;
zamien(&a, &b);
cout << "Liczba a = " << a << ", a liczba b = " << b << endl;
zamienref(&a, &b);
cout << "Liczba a = " << a << ", a liczba b = " << b << endl;
a = podmien(a, b);
cout << "Liczba a = " << a << ", a liczba b = " << b << endl;
return 0;
}