Funkcja wczytaj wczytuje dane do obiektu, który jest kasowany w momencie zakończenia działania funkcji. Funkcja pokaz pokazuje przypadkowe wartości z pamięci:
#include <iostream>
#include <string>
using namespace std;
struct nowa
{
int wiek;
string imie;
};
void wczytaj()
{
nowa x; // obiekt x żyje odtąd
cin>>x.wiek;
cin>>x.imie;
} // dotąd
void pokaz()
{
nowa y; // obiekt y żyje odtąd
cout<<y.wiek; // wypisanie przypadkowych wartości z pamięci
cout<<y.imie; // wypisanie przypadkowych wartości z pamięci
} // dotąd
int main()
{
wczytaj();
pokaz();
return 0;
}
Możesz przekazywać jakiś obiekt funkcjom tak:
#include <iostream>
#include <string>
using namespace std;
struct nowa
{
int wiek;
string imie;
};
void wczytaj(nowa& x) // ampersand, bo oryginał
{
cin>>x.wiek;
cin>>x.imie;
}
void pokaz(nowa& y)
{
cout<<y.wiek;
cout<<y.imie;
}
int main()
{
nowa moj_obiekt;
wczytaj(moj_obiekt);
pokaz(moj_obiekt);
return 0;
}
Możesz też zrobić metody działające na rzecz obiektów tej struktury:
#include <iostream>
#include <string>
using namespace std;
struct Nowa
{
int wiek;
string imie;
void wczytaj();
void pokaz();
};
void Nowa::wczytaj()
{
cin>>wiek; // domyślnie metoda jest wywoływana na obiekcie
cin>>imie;
}
void Nowa::pokaz()
{
cout<<wiek;
cout<<imie;
}
int main()
{
Nowa moj_obiekt;
moj_obiekt.wczytaj();
moj_obiekt.pokaz();
return 0;
}