logo

C++ vs Java

Det finns många skillnader och likheter mellan C++ programmering språk och Java . En lista över de viktigaste skillnaderna mellan C++ och Java ges nedan:

Jämförelseindex C++Java
Plattformsoberoende C++ är plattformsberoende.Java är plattformsoberoende.
Används främst för C++ används främst för systemprogrammering.Java används främst för applikationsprogrammering. Det används ofta i Windows-baserade, webbaserade, företags- och mobilapplikationer.
Designmål C++ designades för system- och applikationsprogrammering. Det var en förlängning av C programmeringsspråk .Java designades och skapades som en tolk för utskriftssystem men utökades senare som ett stöd för nätverksdatorer. Det designades för att vara lätt att använda och tillgängligt för en bredare publik.
Gå till C++ stöder goto-satsen.Java stöder inte goto-satsen.
Multipelt arv C++ stöder flera arv.Java stöder inte multipla arv genom klass. Det kan uppnås genom att använda gränssnitt i java .
Operatör överbelastning C++ stöder operatörens överbelastning .Java stöder inte operatörsöverbelastning.
Pekare C++ stöder pekare. Du kan skriva ett pekprogram i C++.Java stöder pekare internt. Däremot kan du inte skriva pekarprogrammet i java. Det betyder att java har begränsat pekarstöd i java.
Kompilator och tolk C++ använder endast kompilatorn. C++ kompileras och körs med hjälp av kompilatorn som konverterar källkod till maskinkod, så C++ är plattformsberoende.Java använder både kompilator och tolk. Java-källkoden konverteras till bytekod vid kompilering. Tolken exekverar denna bytekod vid körning och producerar utdata. Java tolkas därför är det plattformsoberoende.
Call by Value och Call by reference C++ stöder både call by value och call by reference.Java stöder endast call by value. Det finns inget anrop genom referens i java.
Struktur och förening C++ stödjer strukturer och fackföreningar.Java stöder inte strukturer och fackföreningar.
Trådstöd C++ har inte inbyggt stöd för trådar. Den förlitar sig på tredjepartsbibliotek för trådstöd.Java har inbyggt tråd Stöd.
Dokumentationskommentar C++ stöder inte dokumentationskommentarer.Java stöder dokumentationskommentar (/** ... */) för att skapa dokumentation för java-källkod.
Virtuella nyckelord C++ stöder virtuella nyckelord så att vi kan bestämma om vi ska åsidosätta en funktion eller inte.Java har inget virtuellt nyckelord. Vi kan åsidosätta alla icke-statiska metoder som standard. Med andra ord, icke-statiska metoder är virtuella som standard.
osignerat högerskift >>> C++ stöder inte >>> operator.Java stöder osignerad högerskift >>> operator som fyller noll överst för de negativa talen. För positiva tal fungerar det på samma sätt som >> operator.
Arvsträd C++ skapar alltid ett nytt arvsträd.Java använder alltid ett enda arvsträd eftersom alla klasser är underordnade av klassen Object i Java. Objektklassen är roten till arv träd i java.
Hårdvara C++ är närmare hårdvara.Java är inte så interaktivt med hårdvara.
Objektorienterad C++ är ett objektorienterat språk. Men i C-språket är en enda rothierarki inte möjlig.Java är också en objektorienterad språk. Men allt (förutom grundläggande typer) är ett objekt i Java. Det är en enda rothierarki eftersom allt kommer från java.lang.Object.

Notera

  • Java stöder inte standardargument som C++.
  • Java stöder inte header-filer som C++. Java använder nyckelordet import för att inkludera olika klasser och metoder.

Exempel på C++-program

Fil: main.cpp

 #include using namespace std; int main() { cout << 'Hello C++ Programming'; return 0; } 

Produktion:

 Hello C++ Programming 

Exempel på Java-program

Fil: Simple.java

 class Simple{ public static void main(String args[]){ System.out.println('Hello Java'); } } 

Produktion:

 Hello Java