Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Przekazywanie funkcji przez... proste przykłady

Ostatnio zmodyfikowano 2010-09-17 20:46
Autor Wiadomość
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ść
C/C++
//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ę
C/C++
//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
C/C++
#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ść
C/C++
// Przekazywanie struktury przez wartość
#include <iostream>
//definicja struktur ---------
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
C/C++
//Przekazywanie struktury przez wskaźnik
#include <iostream>
//definicja struktur ---------
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';
}
P-22047
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).
P-22048
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?
P-22051
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).
P-22065
« 1 »
  Strona 1 z 1