Lekcija 1 - C++
C++
C++ jezik je evolucija C jezika rođenog oko 1980-ih, zadržavajući njegove temeljne značajke i dodajući koncepte objektno orijentiranim jezicima.
U C++ jeziku, jačine C jezika su zadržane, posebno:
1. zadržava gotovo apsolutnu kompatibilnost s C, od koje nasljeđuje sintaksu i semantiku za uobičajene konstrukcije, kao i fleksibilnost i snagu
2. proširuje značajke C, djelomično ispravljajući nedostatke svog prethodnika
3. omogućuje jednostavno izvoz aplikacija u druge sustave
Zbog gore opisanih mogućnosti, C++ jezik predstavlja samostalni jezik neovisan o C i ubraja se među srednje kvalitetne jezike.
Konkretno, uvođenjem predložaka i razreda C++ postaje višeparadigmatski jezik.
Poboljšanja jezika u odnosu na C bila su:
• Komentari: C++ uvodi graničnik "komentar do kraja linije", zadržavajući uporabu graničnika /* and */• Naziv enumeracija: naziv enumeracija je naziv vrste.Ova mogućnost pojednostavljuje zapis jer ne zahtijeva korištenje kvalifikacijskog popisa ispred naziva vrste enumeracije
• Nazivi klasa: naziv klase je naziv vrste. Ovaj konstrukt ne postoji u C. U C++ nije potrebno koristiti kvalifikatorsku klasu ispred imena klase.
• Skupna deklaracija: C++ omogućuje uporabu deklaracija unutar polja i iza oznaka. Ta mogućnost omogućuje da se identifikator deklarira bliže točki u kojoj se prvi put upotrebljava. Moguće je deklarirati indeks petlje unutar istog
• Operator kvalifikacije vidljivosti: operator kvalifikacije vidljivosti (zvan opseg) novi je operator koji se koristi za rješavanje sukoba naziva. Ako funkcija ima lokalnu varijablu deklaracije varijable i postoji globalna varijabla, textbf označni podatak::varijabla omogućuje pristup globalnoj varijabli čak i iz opsega vidljivosti lokalne varijable. Obrnuto nije moguće
• Specifikator konsta: const specifikator vam omogućuje zaključavanje vrijednosti varijable unutar njenog polja vidljivosti. Također je moguće zaključati podatke adresirane na varijablu pokazivača
• Preopterećenje funkcija: u C++, više funkcija može koristiti isti naziv; podjela se temelji na broju i vrsti parametara
• Standardne vrijednosti parametara funkcije: moguće je pozvati funkciju koristeći manje parametara od deklariranih. Parametri koji nedostaju zauzet će standardne vrijednosti
• Operatori novi i izbrisati: novi i izbrisati operatori ostaviti programer u kontrolu dodjele i preraspodjele memorije hrpe