Struktúrák
- felhasználó által definiált összetett adattípusok
- az eddig használt típusok:
- egyszerűek (primitív típusok):
int, bool, char, float, double, char *, int * stb.- tömbök (egy- vagy többdimenziósak), amik eddig egyszerű típusú adatokból álltak
- egy struktúrában lehet egy vagy több adattag (mező, attribútum), mindegyik adott típusú és mindegyikre a nevével hivatkozunk
Szintaxis:
struct TipusNev
{
tipus1 nev1;
tipus2 nev2;
...
} opcionálisan globális változók nevei;
int main()
{
//...
TipusNev x;
x.nev1 = ....;
cout << x.nev2 << endl;
//...
}
Az adattagokat a “.” operátorral tudjuk elérni.
Példa: pontok a síkban
| |
Struktúrák inicializálása
| |
Példa: alkalmazottak nyilvántartása
Beolvasunk alkalmazottakat (vezetéknév, keresznév, születési év, kereset formában, az adattagokat szóközök választják el egymástól). Tároljuk őket és írjuk ki az 5000 lejnél többet keresők születési éveit!
Példa bemenet:
3
Setőfi Pándor 1823 10000
Edy Andre 1877 2000
Ristiano Chronaldo 1985 99999
| |
Megjegyzések:
- a struktúrák másolása működik
=operátorral (byte-ról byte-ra másol) - lehet paraméterként átadni struktúrát (alapból másolódik ha nem használunk referenciát)
- lehet visszatéríteni is egy függvényből struktúrát
Feladat: műveletek racionális számokkal
Implementáljunk függvényeket, amelyek struktúraként tárolt racionális számokkal végeznek műveleteket (+, -, *, /).
| |
Feladat: műveletek komplex számokkal
Implementáljunk függvényeket, amelyek struktúraként tárolt komplex számokkal végeznek műveleteket (+, -, *, /, modulusz, konjugált).
| |