C++ je računalni programski jezik koji je 1983. godine stvorio Bjarne Stroustrup i dizajniran da služi kao poboljšana verzija jezika C. Objektno je orijentiran i smatra se jezikom visoke razine. Međutim, ima sadržaje niske razine. C++ je jedan od najčešće korištenih programskih jezika.
Razvoj C++-a zapravo je započeo četiri godine prije njegovog izdavanja, 1979. Nije započeo s ovim imenom; njegovo prvo ime bilo je “C s klasama”. Krajem 1983. godine, C s klasama je prvi put korišten za potrebe internog programiranja AT&T-a. Njegovo je ime promijenjeno u C++ kasnije iste godine. Jezik je komercijalno objavljen tek krajem 1985. godine.
Razvijen u Bell Labsu, C++ je poboljšao programski jezik C na razne načine. Među njegovim značajkama su klase, virtualne funkcije, predlošci i preopterećenje operatora. Jezik također ubraja višestruko nasljeđivanje i rukovanje iznimkama među svojim brojnim značajkama. C++ je uveo upotrebu deklaracija kao izraza i uključuje više provjera tipa nego što je to dostupno s C.
Smatran nadskupom C-a, C++ održava niz značajki koje su uključene u njegov prethodnik. Kao takvi, C programi se općenito mogu uspješno izvoditi u C++ prevodiocima, iako postoje neki problemi koji mogu uzrokovati drugačiji rad C koda. Zapravo, moguće je da neki C kod bude nekompatibilan u C++.
Računalni programski jezik C++ stvoren je za UNIX, pružajući programerima prednost da mogu mijenjati kod bez stvarne promjene. Kod se može ponovno koristiti. Stvaranje knjižnice također je čišće. Jezik se smatra prijenosnim i ne zahtijeva korištenje određenog hardvera ili samo jednog operativnog sustava.
Još jedna važna značajka C++-a je korištenje klasa. Nastava pomaže programerima da organiziraju svoj kod i izbjegnu pogreške. Postoje trenuci kada se pogreške izvuku, ali časovi mogu pomoći u pronalaženju grešaka i njihovom ispravljanju.
Izvorni prevodilac C++, nazvan Cfront, napisan je u programskom jeziku C++. Kompilacija na ovom jeziku smatra se učinkovitom i brzom. Njegova brzina može se pripisati njegovim značajkama visoke razine u kombinaciji s komponentama niske razine. U usporedbi s drugim računalnim programskim jezicima, može se smatrati prilično kratkim. To je zbog činjenice da se naginje korištenju posebnih znakova umjesto ključnih riječi.