Különbség C és C ++ között

Tartalomjegyzék:

Anonim

Mi a C programozási nyelv?

A C középszintű programozási nyelv, amelyet a Bell Lab fejlesztett ki 1972-ben, Dennis Ritchie. A C nyelv egyesíti az alacsony szintű és a magas szintű nyelv jellemzőit. Ezért középszintű nyelvnek tekintik.

A C egy magas szintű klasszikus típusú programozási nyelv, amely lehetővé teszi firmware és hordozható alkalmazások fejlesztését. A C nyelvet azzal a céllal fejlesztették ki, hogy a rendszer szoftverét írja. Ideális nyelv a firmware rendszerek fejlesztéséhez.

Mi a C ++ programozási nyelv?

A C ++ egy számítógépes programozási nyelv, amely tartalmazza a C programozási nyelv, valamint a Simula67 (az első objektumorientált nyelv) jellemzőit. A C ++ bevezette az osztály és az objektumok fogalmát.

Magas és alacsony szintű nyelvi jellemzőket foglal magában. Tehát középfokú nyelvnek tekintik. Korábban "C osztályokkal" néven szerepelt, mivel a C nyelv összes tulajdonságával rendelkezik.

FŐ KÜLÖNBSÉG

  • A C egy eljárási orientált nyelv, míg a C ++ egy objektum-orientált programozási nyelv.
  • A C csak a mutatókat támogatja, míg a C ++ a mutatókat és a hivatkozásokat egyaránt.
  • A C nem teszi lehetővé a funkció túlterhelését, míg a C ++ a funkció túlterhelését.
  • A C támogatja a beépített adattípusokat, míg a C ++ a beépített, valamint a felhasználó által definiált adattípusokat.
  • A C nyelv a fentről lefelé programozási megközelítést követi, míg a C ++ az alulról felfelé irányuló programozási megközelítést követi.
  • A C beolvasás és a printf a standard bemenethez és kimenethez használható, míg a C ++ - ban a cin és a cout a szabványos bemeneti és kimeneti műveletekhez.

C Vs. C ++: Főbb különbségek

A megkülönböztetés alapja C C ++
Programozás típusa Ez egy eljárási orientált nyelv. Ez egy objektum-orientált programozási nyelv.
Megközelítés A C nyelv a fentről lefelé programozási megközelítést követi A C ++ alulról felfelé irányuló programozási megközelítést követ.
Fájlkiterjesztés A C program fájlkiterjesztése .c A c + + programnyelv fájlkiterjesztése is.cpp
Programfelosztás A C programozási nyelvben egy nagy programkódot apró darabokra osztanak, amelyeket függvényeknek nevezünk. A C ++ programozási nyelvben egy nagy programkód objektumokra és osztályokra oszlik.
Szerkezet A C szerkezete nem biztosítja a funkció deklarálásának jellemzőjét. A Struktúra a C ++ nyelven biztosítja azt a funkciót, hogy egy függvényt a struktúra tagfüggvényeként deklarálunk.
Inline funkció Nem teszi lehetővé az inline funkciót. Támogatja az inline funkciót.
Normál I / O műveletek C-ben a szkennelést és a printf-et használják a standard bevitelhez és kimenethez A C ++ - ban a cin »és a cout« szabványos bemeneti és kimeneti műveletekre vonatkozik.
Adatbiztonság C nyelven az adatok nincsenek biztonságban. Az adatok biztonságosak, ezért külső funkciók nem férhetnek hozzá hozzájuk. (OOP-k beágyazási koncepciójának használata)
Kódolás egyszerűsége A C egy régebbi programozási nyelv, amelyet Hands-on néven írnak le. Ezen a nyelven meg kell mondania a programnak, hogy tegyen meg mindent. Sőt, ez a nyelv szinte bármit megenged. A C ++ a C kiterjesztési nyelve. Lehetővé teszi a fokozottan ellenőrzött objektumorientált kódot.
Kompatibilitás más nyelvekkel A C nem kompatibilis egy másik nyelvvel. A C ++ kompatibilis a többi általános programozási nyelvvel.
Mutató A C csak a mutatókat támogatja. A C ++ egyaránt támogatja a mutatókat és a hivatkozásokat.
Változó C-ben a változót a program elején kell meghatározni. A C ++ lehetővé teszi a változók deklarálását a függvény bárhol.
Fókuszpont A C azokra a lépésekre vagy eljárásokra koncentrál, amelyeket a probléma megoldása érdekében követnek. A C ++ az objektumokat hangsúlyozza, és nem a lépéseket vagy eljárásokat. Magasabb az absztrakciós szintje.
Funkció Túlterhelés A C nem teszi lehetővé a funkció túlterhelését. A C ++ lehetővé teszi a funkció túlterhelését.
Adattípusok A C nyelv nem teszi lehetővé String vagy Boolean adattípusok deklarálását. Támogatja a beépített és primitív adattípusokat. A C ++ támogatja a karakterlánc és logikai adattípusokat.
Kivételek kezelése A C nem támogatja a kivételkezelést. Néhány megoldás azonban megtehető. A C ++ támogatja a kivételkezelést. Ez a művelet ráadásul a try and catch blokk segítségével hajtható végre.
Funkciók Nem engedélyezi a funkciókat alapértelmezett elrendezéssel Funkciók engedélyezése alapértelmezett elrendezéssel.
Névtér A C nyelvben hiányzik. A C ++ nyelven van jelen.
Forráskód Szabad formátumú program forráskódja. Eredetileg a C programozási nyelvből fejlesztették ki.
Kapcsolat C a C ++ részhalmaza. Nem tudja futtatni a C ++ kódot. A C ++ a C szuperhalmaza. A C ++ futtathatja a C kód nagy részét, míg C nem futtathatja a C ++ kódot.
Hajtotta Funkcióvezérelt nyelv Objektumvezérelt nyelv
Fókusz Az adatok helyett a módszerre vagy a folyamatra koncentrál. Az adatokra koncentrál a módszer vagy eljárás helyett.
Egységbezárás Nem támogatja a beágyazást. Mivel az adatok és a funkciók különálló és szabad entitások. Támogatja a beágyazást. Az adatokat és a funkciókat objektumként együtt kapszulázzák.
Információ elrejtése A C nem támogatja az információk elrejtését. Ezen a nyelven az adatok szabad entitások, és kódon kívül módosíthatók. A beágyazás elrejti az adatokat. Annak érdekében, hogy az adatszerkezeteket és az operátorokat szándék szerint használják.
Memóriakezelés C malloc () és calloc () függvényeket biztosít a dinamikus memória-allokációhoz. A C ++ új operátort biztosít erre a célra.
Adattípusok Támogatja a beépített adattípusokat. Támogatja a beépített és a felhasználó által definiált adattípusokat.
Globális változók A globális változók többszörös deklarálását teszi lehetővé. A globális változók többszörös deklarálása nem megengedett.
A térképezés fogalma Az adatok és a funkciók közötti leképezés nagyon bonyolult. Az adatok és a funkciók közötti leképezés könnyen létrehozható az "Osztályok és objektumok" használatával.
Öröklés Az öröklés nem támogatott C Az öröklés C ++ nyelven lehetséges.
Alapértelmezett fejlécfájl C az stdio.h fejlécfájlt használta. A C ++ az iosteam.h fájlt használja alapértelmezett fejlécfájlként.
Virtuális funkció A virtuális függvények fogalma C-ben van jelen. A virtuális függvény fogalmát a C ++ nem használja.
Kulcsszavak 32 kulcsszót tartalmaz. 52 kulcsszót tartalmaz.
Polimorfizmus C.-ben a polimorfizmus nem lehetséges A C ++ - ban a polimorfizmus fogalmát használják. A polimorfizmus az OOPS egyik legfontosabb jellemzője.
GUI programozás A C nyelv GTK eszközt kínál a GUI programozáshoz A C ++ támogatja a Qt eszközöket a GUI programozáshoz