logo

C++ contro Java

Ci sono molte differenze e somiglianze tra i Programmazione C++ lingua e Giava . Di seguito è riportato un elenco delle principali differenze tra C++ e Java:

Indice di confronto C++Giava
Piattaforma indipendente Il C++ dipende dalla piattaforma.Java è indipendente dalla piattaforma.
Utilizzato principalmente per Il C++ viene utilizzato principalmente per la programmazione di sistema.Java viene utilizzato principalmente per la programmazione di applicazioni. È ampiamente utilizzato nelle applicazioni basate su Windows, sul Web, aziendali e mobili.
Obiettivo di progettazione C++ è stato progettato per la programmazione di sistemi e applicazioni. Era un'estensione del Linguaggio di programmazione C .Java è stato progettato e creato come interprete per i sistemi di stampa ma in seguito è stato esteso come supporto informatico di rete. È stato progettato per essere facile da usare e accessibile a un pubblico più ampio.
Vai a C++ supporta l'istruzione goto.Java non supporta l'istruzione goto.
Eredità multipla Il C++ supporta l'ereditarietà multipla.Java non supporta l'ereditarietà multipla tramite classe. Può essere ottenuto utilizzando interfacce in Java .
Sovraccarico degli operatori Supporta C++ sovraccarico dell'operatore .Java non supporta l'overload degli operatori.
Puntatori C++ supporta i puntatori. Puoi scrivere un programma puntatore in C++.Java supporta il puntatore internamente. Tuttavia, non puoi scrivere il programma puntatore in Java. Significa che Java ha un supporto limitato per i puntatori in Java.
Compilatore e interprete C++ utilizza solo il compilatore. C++ viene compilato ed eseguito utilizzando il compilatore che converte il codice sorgente in codice macchina, quindi C++ dipende dalla piattaforma.Java utilizza sia il compilatore che l'interprete. Il codice sorgente Java viene convertito in bytecode al momento della compilazione. L'interprete esegue questo bytecode in fase di esecuzione e produce output. Java viene interpretato per questo motivo è indipendente dalla piattaforma.
Chiama per valore e Chiama per riferimento C++ supporta sia la chiamata per valore che la chiamata per riferimento.Java supporta solo la chiamata in base al valore. Non esiste una chiamata per riferimento in Java.
Struttura e Unione Il C++ supporta strutture e unioni.Java non supporta strutture e unioni.
Supporto del filo C++ non ha il supporto integrato per i thread. Si basa su librerie di terze parti per il supporto dei thread.Java è integrato filo supporto.
Commento sulla documentazione C++ non supporta i commenti sulla documentazione.Java supporta il commento sulla documentazione (/** ... */) per creare la documentazione per il codice sorgente Java.
Parola chiave virtuale C++ supporta le parole chiave virtuali in modo che possiamo decidere se sovrascrivere o meno una funzione.Java non ha parole chiave virtuali. Possiamo sovrascrivere tutti i metodi non statici per impostazione predefinita. In altre parole, i metodi non statici sono virtuali per impostazione predefinita.
spostamento a destra senza segno >>> C++ non supporta l'operatore >>>.Java supporta l'operatore di spostamento a destra >>> senza segno che riempie lo zero in alto per i numeri negativi. Per i numeri positivi, funziona come l'operatore >>.
Albero dell'eredità Il C++ crea sempre un nuovo albero di ereditarietà.Java utilizza sempre un singolo albero di ereditarietà perché tutte le classi sono figlie della classe Object in Java. La classe Object è la radice di eredità albero in Java.
Hardware Il C++ è più vicino all'hardware.Java non è così interattivo con l'hardware.
Orientato agli oggetti C++ è un linguaggio orientato agli oggetti. Tuttavia, nel linguaggio C non è possibile una gerarchia a radice singola.Anche Java è un file orientato agli oggetti lingua. Tuttavia, in Java tutto (tranne i tipi fondamentali) è un oggetto. È una gerarchia a radice singola poiché tutto deriva da java.lang.Object.

Nota

  • Java non supporta argomenti predefiniti come C++.
  • Java non supporta file di intestazione come C++. Java utilizza la parola chiave import per includere classi e metodi diversi.

Esempio di programma C++

File: main.cpp

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

Produzione:

 Hello C++ Programming 

Esempio di programma Java

File: Semplice.java

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

Produzione:

 Hello Java