Przekazywanie funkcji przez... proste przykłady
Ostatnio zmodyfikowano 2010-09-17 20:46
marek Temat założony przez niniejszego użytkownika |
Przekazywanie funkcji przez... proste przykłady » 2010-09-17 16:01:46 W kursie przykłady funkcji z przekazywaniem wartości były bardzo skomplikowane i dlatego pozwoliłem sobie podać bardzo proste przykłady. Może się przydać przed testowaniem programów podanych w kursie.
1.Przekazywanie przez wartość
#include <iostream> int dodaj_1( int ); int main() { int x = 5; std::cout << "x = " << x << "\n"; std::cout << "x = " << dodaj_1( x ) << "\n"; return 0; } int dodaj_1( int y ) { y = y + 1; return y; }
2.Przekazywanie przez referencję
#include <iostream> void dodaj_1( int & ); int main() { int x = 5; std::cout << "x = " << x << "\n"; dodaj_1( x ); std::cout << "x = " << x << "\n"; return 0; } void dodaj_1( int & y ) { y = y + 1; }
3.Przekazywanie przez wskaźnik
#include <iostream> void Dodaj_1( int * ); int main() { using namespace std; int i = 5; cout << "i = " << i << "\n"; Dodaj_1( & i ); cout << "i = " << i << "\n"; return 0; } void Dodaj_1( int * j ) { * j = * j + 1; }
4.Przekazywanie struktury przez przez wartość
#include <iostream>
struct Dane { int a; char b; }; Dane zmien( Dane ); int main() { using std::cout; using std::cin; Dane x, y; x.a = 5; x.b = 'K'; cout << "x.a =" << x.a << "\n"; cout << "x.b =" << x.b << "\n\n"; y = zmien( x ); cout << "y.a =" << y.a << "\n"; cout << "y.b =" << y.b << "\n"; return 0; }
Dane zmien( Dane j ) { Dane k; k.a = j.a + 1; k.b = 'J'; return k; }
5.Przekazywanie struktury przez przez wskaźnik
#include <iostream>
struct Dane { int a; char b; };
void Zmien( Dane * j ); int main() { using std::cout; using std::cin; Dane x; x.a = 5; x.b = 'c'; cout << "x.a = " << x.a << "\n"; cout << "x.b = " << x.b << "\n\n"; Zmien( & x ); cout << "x.a = " << x.a << "\n"; cout << "x.b = " << x.b << "\n"; return 0; }
void Zmien( Dane * j ) { j->a = 34; j->b = 'x'; }
|
|
DejaVu |
» 2010-09-17 16:05:28 Brakuje przekazywania struktur przez referencje :) W każdym razie jak skończysz edytować ten cały dokument itp, to daj znać - pomyślimy nad jakimś tytułem i wrzucimy jako artykuł, bo na forum to utonie ;p Jeżeli masz wenę do dopisania jakiejś treści między przykładami to też byłoby fajnie (albo jakiś wstęp do tych przykładów ;p). |
|
marek Temat założony przez niniejszego użytkownika |
» 2010-09-17 16:24:42 Nie mogłem dopatrzeć się przekazywania struktur przez referencję. Chyba że był to ten przykład z kolorową tablicą z drużynami na ME. Tu spasowałem, bo autor zaczął straszyć klasami, obiektami a do tego jeszcze nie doszedłem. Tak przy okazji. W ćwiczeniach też jest przykład w którym trzeba pobrać taki ładny obrazek. Czy do tego nie jest potrzebne programowanie obiektowe?
Z innej beczki. Bardzo ważny jest temat obsługa plików. W kursie podane są 3 tematy na czytanie plików i 3 na zapisywanie. Brak przykładów! Sporo się z tym kopałem. Mam pewne przemyślenia, choć są to być może typu "jak mały Kazio..." Czy mogę zaproponować przeróbkę tego rozdziału? |
|
DejaVu |
» 2010-09-17 20:46:03 Propozycje mogą być oczywiście, niemniej jednak weź pod uwagę fakt, że stary kurs poszedł do piachu i nowy jest tworzony (w zasadzie to stoi w miejscu ale to inna bajka). |
|
« 1 » |