C++ je računalniški programski jezik, ki ga je leta 1983 ustvaril Bjarne Stroustrup in je zasnovan tako, da služi kot izboljšana različica jezika C. Je objektno usmerjen in velja za jezik visoke ravni. Vendar pa ima nizko raven objektov. C++ je eden najpogosteje uporabljenih programskih jezikov.
Razvoj C++ se je dejansko začel štiri leta pred izdajo, leta 1979. Ni se začel s tem imenom; njegovo prvo ime je bilo »C z razredi«. Konec leta 1983 je bil C z razredi prvič uporabljen za potrebe internega programiranja AT&T. Njegovo ime je bilo pozneje istega leta spremenjeno v C++. Jezik je bil komercialno objavljen šele konec leta 1985.
C++, razvit v Bell Labs, je izboljšal programski jezik C na različne načine. Med njegovimi značilnostmi so razredi, virtualne funkcije, predloge in preobremenitev operaterjev. Jezik med svoje številne funkcije šteje tudi večkratno dedovanje in obdelavo izjem. C++ je uvedel uporabo deklaracij kot stavkov in vključuje več preverjanja tipov, kot je na voljo pri C.
C++, ki velja za nadnabor C, ohranja številne funkcije, ki so vključene v njegovega predhodnika. Kot taki se programi C na splošno lahko uspešno izvajajo v prevajalnikih C++, čeprav obstajajo nekatere težave, zaradi katerih lahko koda C deluje drugače. Pravzaprav je možno, da je neka koda C nezdružljiva v C++.
Računalniški programski jezik C++ je bil ustvarjen za UNIX, kar programerjem zagotavlja prednost, da lahko spreminjajo kodo, ne da bi jo dejansko spremenili. Koda je za večkratno uporabo. Ustvarjanje knjižnice je tudi čistejše. Jezik velja za prenosnega in ne zahteva uporabe določene strojne opreme ali samo enega operacijskega sistema.
Druga pomembna značilnost C++ je uporaba razredov. Razredi pomagajo programerjem organizirati svojo kodo in se izogniti napakam. Včasih se napake umaknejo, toda razredi so lahko ključnega pomena pri iskanju napak in njihovem popravljanju.
Prvotni prevajalnik C++, imenovan Cfront, je bil napisan v programskem jeziku C++. Sestavljanje v tem jeziku velja za učinkovito in hitro. Njegovo hitrost je mogoče pripisati njegovim visokim funkcijam v povezavi s komponentami na nizki ravni. V primerjavi z drugimi računalniškimi programskimi jeziki se lahko šteje za precej kratkega. To je posledica dejstva, da se nagiba k uporabi posebnih znakov namesto ključnih besed.