Det er mange forskjeller og likheter mellom C++ programmering språk og Java . En liste over de viktigste forskjellene mellom C++ og Java er gitt nedenfor:
Sammenligningsindeks | C++ | Java |
---|---|---|
Plattformuavhengig | C++ er plattformavhengig. | Java er plattformuavhengig. |
Hovedsakelig brukt til | C++ brukes hovedsakelig til systemprogrammering. | Java brukes hovedsakelig til applikasjonsprogrammering. Det er mye brukt i Windows-baserte, nettbaserte, bedrifts- og mobilapplikasjoner. |
Designmål | C++ ble designet for programmering av systemer og applikasjoner. Det var en forlengelse av C programmeringsspråk . | Java ble designet og opprettet som en tolk for utskriftssystemer, men ble senere utvidet som en støttenettverksdatabehandling. Den ble designet for å være enkel å bruke og tilgjengelig for et bredere publikum. |
Gå til | C++ støtter goto-setningen. | Java støtter ikke goto-setningen. |
Multippel arv | C++ støtter multippel arv. | Java støtter ikke multippel arv gjennom klassen. Det kan oppnås ved å bruke grensesnitt i java . |
Operatør overbelastning | C++ støtter operatør overbelastning . | Java støtter ikke operatøroverbelastning. |
Pekere | C++ støtter pekere. Du kan skrive et pekerprogram i C++. | Java støtter peker internt. Du kan imidlertid ikke skrive pekerprogrammet i java. Det betyr at java har begrenset pekerstøtte i java. |
Kompilator og tolk | C++ bruker kun kompilator. C++ er kompilert og kjørt ved hjelp av kompilatoren som konverterer kildekoden til maskinkode, så C++ er plattformavhengig. | Java bruker både kompilator og tolk. Java-kildekoden konverteres til bytekode på kompileringstidspunktet. Tolkeren kjører denne bytekoden under kjøring og produserer utdata. Java tolkes derfor er det plattformuavhengig. |
Ring etter verdi og Ring etter referanse | C++ støtter både call by value og call by reference. | Java støtter kun anrop etter verdi. Det er ingen anrop ved referanse i java. |
Struktur og forening | C++ støtter strukturer og fagforeninger. | Java støtter ikke strukturer og fagforeninger. |
Trådstøtte | C++ har ikke innebygd støtte for tråder. Den er avhengig av tredjepartsbiblioteker for trådstøtte. | Java har innebygd tråd Brukerstøtte. |
Dokumentasjonskommentar | C++ støtter ikke dokumentasjonskommentarer. | Java støtter dokumentasjonskommentar (/** ... */) for å lage dokumentasjon for java-kildekode. |
Virtuelt nøkkelord | C++ støtter virtuelt nøkkelord slik at vi kan bestemme om vi skal overstyre en funksjon eller ikke. | Java har ikke noe virtuelt nøkkelord. Vi kan overstyre alle ikke-statiske metoder som standard. Med andre ord, ikke-statiske metoder er virtuelle som standard. |
usignert høyreskift >>> | C++ støtter ikke >>> operatør. | Java støtter usignert høyreskift >>>-operator som fyller null øverst for de negative tallene. For positive tall fungerer det på samme måte som >> operator. |
Arvetre | C++ oppretter alltid et nytt arvetre. | Java bruker alltid et enkelt arvetre fordi alle klasser er underordnede av Object-klassen i Java. Objektklassen er roten til arv tre i java. |
Maskinvare | C++ er nærmere maskinvare. | Java er ikke så interaktivt med maskinvare. |
Objekt orientert | C++ er et objektorientert språk. Men i C-språket er et enkelt rothierarki ikke mulig. | Java er også en objekt orientert Språk. Imidlertid er alt (unntatt grunnleggende typer) et objekt i Java. Det er et enkelt rothierarki da alt blir avledet fra java.lang.Object. |
Merk
- Java støtter ikke standardargumenter som C++.
- Java støtter ikke header-filer som C++. Java bruker importnøkkelordet for å inkludere forskjellige klasser og metoder.
Eksempel på C++-program
Fil: main.cpp
#include using namespace std; int main() { cout << 'Hello C++ Programming'; return 0; }
Produksjon:
Hello C++ Programming
Eksempel på Java-program
Fil: Simple.java
class Simple{ public static void main(String args[]){ System.out.println('Hello Java'); } }
Produksjon:
Hello Java