Strukture i klase
Strukture su složeni tip podataka.
Uporaba polja omogućavala nam je pohranu više podataka pod jednim imenom kako bismo smanjili broj varijabli u programu. U polju su svi podaci biti istog tipa.
Stukture nam omogućavaju grupiranje podataka različitih tipova.
Za deklaraciju strukture koristimo ključnu riječ struct. Unutar stukture može se nalaziti proizvoljan broj članova različitih tipova.
4. Klase i objekti
Kod objektno orijentiranog programiranja (OOP) težište je projektiranju aplikacije kao skupa objekata koji izmjenjuju poruke.
OOP se temelji na klasama.
Klase su korisnički definirani tipovi podataka koji grupiraju povezane informacije.
Klase sadrže članske varijable koje mogu biti različitih tipova, te mogu sadržavati metode (funkcije klase) što strukture nisu mogle.
Defaultna vidljivost im je private, a mogu biti i public i protected, nazivamo ih i modifikatorima vidljivosti.
Instance klase su varijable tipa klase, odnosno zovemo ih još i objektima.
Objekt (engl. object) je naziv za skup svojstava koja možemo objediniti u smislenu cjelinu.
Pravila koja propisuju od čega je pojedini objekt sagrađen te kakva su njegova svojstva nazivaju se klasama.
Klasa je samo opis, dok je objekt stvarna, konkretna realizacija napravljena na temelju klase.

Kada je klasa jednom definirana, može se pomoću nje konstruirati neograničen broj objekata koji se zatim mogu koristiti.
U programu je objekt opisan varijablama koje mu određuju stanje i funkcijama koje mu određuju ponašanje.
Funkcije mijenjaju stanje objekta, a po potrebi mogu stvarati i nove objekte.
Za pristup članovima preko objekata i referenci koristi se operator . (točka), a u slučaju pristupa preko pokazivača operator -> (minus i veće od).
Funkcije objekta mogu pristupati svim članskim varijablama i funkcijama. Klijenti mogu vidjeti samo javne članske varijable i funkcije.