A különbség köztük C++ és a Java
Kulcs különbség között C++ és a Java
- C++ csak fordítót használ, míg Java fordítót és tolmácsot egyaránt használ.
- C++ támogatja mind a kezelő túlterhelését, mind a módszer túlterhelését Java csak a módszer túlterhelését támogatja.
- C++ támogatja a kézi objektumkezelést új és törlési kulcsszavak segítségével, míg Java beépített automata szemétszállítással rendelkezik.
- C++ szerkezeteket támogatja, míg Java nem támogatja a szerkezeteket.
- C++ közben támogatja a szakszervezeteket Java nem támogatja a szakszervezeteket.

Mi a C++ nyelv?
C++ egy számítógépes programozási nyelv, amely tartalmazza a C programozási nyelv, valamint a Simula67 (első objektum-orientált nyelv) funkcióját. C++ bevezette az osztály és az objektumok fogalmát.
Magas és alacsony szintű nyelvi jellemzőket foglal magában. Tehát középszintű nyelvnek tekintik. Korábban „C osztályokkal”-nak hívták, mivel a C nyelv összes tulajdonságával rendelkezett.
Mi a Java nyelv?
Java a Sun Microsystems által kifejlesztett programozási nyelv. Egy kis szoftverfejlesztő csapat fejlesztette ki ezt a nyelvet. Zöld csapatként ismerték őket, akik kezdeményezték Java nyelv 1991-ben.
Története C++
C++ A nyelvet Bjarne Stroustrup fejlesztette ki az AT & T Bell Laboratories-nál. Stroustrup C erős támogatója és Simula67 tisztelője volt. A két nyelv legjobbjait akarta egyesíteni. Olyan nyelv létrehozására törekedett, amely támogatja az objektum-orientált programozási funkciókat, és továbbra is megtartja a C erejét. C++.
Története Java
A Java a nyelvet kezdetben OAK-nak hívták. Eredetileg eszközök és set-top boxok kezelésére fejlesztették ki. Oak hatalmas kudarcot vallott. Így a Sun 1995-ben megváltoztatta a nevet Java és módosította a nyelvet, hogy kihasználja a feltörekvő World Wide Web fejlesztési üzletág előnyeit.
Later, 2009-ban, Oracle A Corporation felvásárolta a Sun Microsystemst, és birtokba vette a Sun két kulcsfontosságú szoftvereszközét: Java és a Solaris.
A különbség köztük C++ és a Java
Vizsgált paraméter | C++ | Java |
---|---|---|
Kapcsolat | Nincs szigorú kapcsolat az osztálynevek és a fájlnevek között. In C++, a fejlécfájlokat és a megvalósítási fájlokat egy adott osztályhoz használják. | A szigorú kapcsolat érvényesül, például a PayRoll osztály forráskódjának a PayRoll.java-ban kell lennie. |
Bemeneti mechanizmus | Az I/O utasítások in és cout használatot, pl. in » x; cout« y; | Az I/O bemeneti mechanizmus meglehetősen összetett, mivel egyszerre egy bájtot olvas (System.in). A kimenet egyszerű, pl. System.out.println(x); |
Fordító és tolmács | C++ csak támogatási fordító | Java támogatja mind a fordítót, mind az értelmezőt |
Kompatibilitás más nyelvekkel | Kompatibilis a C forráskóddal, kivéve néhány kivételes esetet. | Nincs visszafelé kompatibilitás egyetlen korábbi nyelvvel sem. A szintaxist a C/ befolyásoljaC++. |
Beléptető és objektumvédelem | Rugalmas modell állandó védelemmel | A nehézkes modell gyenge tokozásra ösztönöz. |
Koncepció | Írjon egyszer, fordítsa le bárhol | Írjon egyszer futni bárhol és mindenhol |
Programozási típus támogatása | Lehetővé teszi mind a procedurális, mind az objektumorientált programozást. | Támogatja az objektum-orientált programozási modellt. |
Felület | Lehetővé teszi a natív rendszerkönyvtárak közvetlen hívását. | Csak hívjon a Java Natív felület és a közelmúltban Java Natív hozzáférés |
Memóriakezelés | Programozó számára elérhető | Rendszer vezérelt |
Gyökérhierarchia | C++ nincs ilyen gyökérhierarchia. C++ támogatja mind a procedurális, mind az objektumorientált programozást; ezért hibrid nyelvnek nevezik. | Java egy tiszta objektum-orientált programozási nyelv. Ez az. Miért Egygyökér-hierarchiát követ. |
Legjobb Jellemzők | C++ támogatja az objektum-orientált funkciókat. Eljárási programozási funkciók. | Java támogatja az automatikus szemétszállítást. Nem támogatja a destruktorokat, mint C++ igen. |
Goto nyilatkozat | C++ van egy goto nyilatkozata. Bár nem ideális a goto kifejezés használata. | Java nincs goto nyilatkozata. A got és const kulcsszavak akkor is le vannak foglalva, ha nem használják őket. |
Többszörös öröklés | C++ többszörös öröklődést biztosít. A virtual kulcsszó a többszörös öröklés során felmerülő problémák megoldására szolgál, ha vannak ilyenek. | Java nem biztosít többszörös öröklést. |
Hatókör felbontás operátor | C++ hatókör felbontási operátorral rendelkezik (: :) amely egy osztályon kívüli metódus definiálására és a hatókörön belüli globális változó elérésére szolgál, ahol létezik ugyanilyen nevű helyi változó is. |
Nincs hatókör felbontási operátor (: :) in Java. A metódusdefinícióknak egy osztályon belül kell előfordulniuk, így nincs szükség hatókör-feloldásra. |
Támogató módszer | C++ támogatja a módszer túlterhelését és a kezelő túlterhelését is | Java csak a módszer túlterhelését támogatja. Nem nyújt támogatást a kezelő túlterheléséhez. |
Hordozhatóság. | A forrást újra kell fordítani a platformhoz; ezért a kód nem hordozható. | A bájtkód osztályok átvihetők platform-specifikus JVM-ekre. |
Típusszemantika | Konzisztens a primitív és az objektumtípusok között. | Különbözik a primitív és az objektumtípusok esetében. |
könyvtárak | Túlnyomóan alacsony szintű funkcionalitás | Masszív, magas szintű szolgáltatások osztályai. |
Futásidejű hibaészlelés | Programozói felelősség. | Rendszerfelelősség. |
Funkciók és adatok | A függvények és adatok bármely osztályon kívül létezhetnek, elérhetőek a globális és névtér hatókörei. | Minden funkció és adat létezik az osztályokon belül; csomag terjedelme elérhető. |
Emelvény | C++ A programok platformfüggőek. Ezeket egy adott platformhoz kell összeállítani. | Java A programok platformfüggetlenek. Java programokat írnak Java Virtuális gép (JVM). Újrafordítás nélkül fog futni. |
Futásidejű hibaészlelés | In C++, A hibák ellenőrzése a programozó felelőssége. | A program hibáinak ellenőrzése a rendszer felelőssége. |
Mutató | C++ támogatási mutatók. | Java csak korlátozott támogatást nyújt a mutatók számára. |
Szerkezet | Támogatja a szerkezeteket. | Nem támogatja a szerkezeteket. |
Szakszervezetek | C++ támogatja a szakszervezeteket. | Java nem támogatja a szakszervezeteket. |
Objektumkezelés | C++ támogatja a kézi objektumkezelést új és törlési kulcsszavak segítségével. | Java súlyos, az automatikus szemétgyűjtéstől függ. Nem támogatja a pusztítókat. |