logo

C++ vs Java

Hi ha moltes diferències i similituds entre Programació en C++ llengua i Java . A continuació es mostra una llista de les principals diferències entre C++ i Java:

Índex de comparació C++Java
Independent de la plataforma C++ depèn de la plataforma.Java és independent de la plataforma.
S'utilitza principalment per C++ s'utilitza principalment per a la programació del sistema.Java s'utilitza principalment per a la programació d'aplicacions. S'utilitza àmpliament en aplicacions basades en Windows, web, empresarials i mòbils.
Objectiu de disseny C++ va ser dissenyat per a la programació de sistemes i aplicacions. Va ser una extensió de la Llenguatge de programació C .Java va ser dissenyat i creat com a intèrpret per a sistemes d'impressió, però més tard es va estendre com a xarxa de suport informàtica. Va ser dissenyat per ser fàcil d'utilitzar i accessible a un públic més ampli.
Anar a C++ admet la declaració goto.Java no admet la declaració goto.
Herència múltiple C++ admet l'herència múltiple.Java no admet l'herència múltiple mitjançant classe. Es pot aconseguir utilitzant interfícies en java .
Sobrecàrrega de l'operador Suporta C++ sobrecàrrega de l'operador .Java no admet la sobrecàrrega d'operadors.
Apuntadors C++ admet punters. Podeu escriure un programa punter en C++.Java admet el punter internament. Tanmateix, no podeu escriure el programa punter en java. Significa que Java ha restringit el suport del punter a Java.
Compilador i intèrpret C++ només utilitza compilador. C++ es compila i s'executa mitjançant el compilador que converteix el codi font en codi màquina, de manera que C++ depèn de la plataforma.Java utilitza tant compilador com intèrpret. El codi font de Java es converteix en bytecode en el moment de la compilació. L'intèrpret executa aquest bytecode en temps d'execució i produeix la sortida. Java s'interpreta per això és independent de la plataforma.
Truca per valor i Truca per referència C++ admet trucades per valor i trucades per referència.Java només admet trucades per valor. No hi ha cap trucada per referència a Java.
Estructura i unió C++ admet estructures i unions.Java no admet estructures i unions.
Suport de fil C++ no té suport integrat per a fils. Es basa en biblioteques de tercers per al suport de fils.Java té integrat fil suport.
Comentari de documentació C++ no admet comentaris de documentació.Java admet comentaris de documentació (/** ... */) per crear documentació per al codi font de Java.
Paraula clau virtual C++ admet la paraula clau virtual perquè puguem decidir si substituïm o no una funció.Java no té cap paraula clau virtual. Podem anul·lar tots els mètodes no estàtics per defecte. En altres paraules, els mètodes no estàtics són virtuals per defecte.
desplaçament dret sense signar >>> C++ no admet l'operador >>>.Java admet l'operador de desplaçament a la dreta sense signe >>> que omple zero a la part superior per als nombres negatius. Per als nombres positius, funciona igual que l'operador >>.
Arbre de l'herència C++ sempre crea un nou arbre d'herència.Java sempre utilitza un únic arbre d'herència perquè totes les classes són fills de la classe Object a Java. La classe Object és l'arrel de la herència arbre en java.
Maquinari C++ és més proper al maquinari.Java no és tan interactiu amb el maquinari.
Orientat a objectes C++ és un llenguatge orientat a objectes. Tanmateix, en el llenguatge C, una jerarquia arrel única no és possible.Java també és un orientat a objectes llenguatge. Tanmateix, tot (excepte els tipus fonamentals) és un objecte a Java. És una jerarquia arrel única, ja que tot es deriva de java.lang.Object.

Nota

  • Java no admet arguments predeterminats com C++.
  • Java no admet fitxers de capçalera com C++. Java utilitza la paraula clau import per incloure diferents classes i mètodes.

Exemple de programa C++

Fitxer: main.cpp

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

Sortida:

 Hello C++ Programming 

Exemple de programa Java

Fitxer: Simple.java

expressió de regressió en java
 class Simple{ public static void main(String args[]){ System.out.println('Hello Java'); } } 

Sortida:

 Hello Java