Mér þykir ýmislegt sem hér hefur komið fram ekki vera mjög nákvæmt.
<p>
C++ er ekki *hlutbundið forritunarmál* heldur frekar *fjölhæft forritunarmál* sem styður hlutbundna forritun, procedural forritun (eins og c) og generic forritun.
<p>
Á heimasíðu Bjarne Stroustrup er að finna nokkrar ritgerðir eftir hann. Þar með talið eina þar sem hann útskýrir af hverju C++ er ekki eingöngu hlutbundið forritunarmál.
<p>
http://www.research.att.com/~bs/papers.html<p>
Ef þú vilt skrifa C forrit mæli ég samt með því að þú gerir það með C++ þýðanda og nýtir þér hluti sem þér bjóðast. T.d. er ekkert vit í öðru en að nota std::string klasann í staðinn fyrir char* og C strengja föllinn. Þú tapar engu í hraða (í mörgum tilvikum er C++ strengja klasinn skilvirkari, stundum hægvirkari) en líkurnar á villum minnka gríðarlega. <p>
Það að nota STL collection klasana er mun einfaldara en að skrifa þína eigin gagnagrindur og yfirleitt er hraðinn mjög góður.
<p>
Varðandi þýðendur, þá er það rangt sem hér hefur komið fram að C++ þýðendur byrji á að þýða kóðann yfir í C kóða áður en þýtt er yfir í smalamál. Slíkir þýðendur eru til og fyrsti C++ þýðandinn starfaði þannig en allir nýir C++ þýðendur þýða beint yfir í smalamál. <p>
Varðandi C þýðanda, þá fylgir C þýðandi með VisualC++ tólinu. EXE skráin sem keyrir þegar skrá er þýdd hleður mismunandi .dll eftir því hvort skráin sem þýdd er endar á .C eða .CPP <p>
Þið getið prófað að fara í visual studio, búa til .C skrá og skrifa clasa, þið fáið þýðingarvillu, þar sem það er ekki löglegt C.
<p>
En svo ég svari spurningu þinni, C++ hefur margt fram yfir C. Það er enginn sérstakur tilgangur í því að læra C forritun í dag, nema þú ætlir að forrita fyrir eitthvað platform sem hefur ekki C++ þýðanda (ég man ekki í bragði hvaða platform það gæti verið). Jafnvel þó þú ætlir ekki að nota þér neitt af því sem C++ býður þér upp á, þá eru C++ þýðendurinn yfirleitt betri í dag. Það er meira í þá lagt og fyrirtæki leggja meiri áherslu á C++ þýðendurna heldur en C útgáfurnar.
<p>
Matti