logo

C++ protiv Jave

Postoje mnoge razlike i sličnosti između C++ programiranje jezik i Java . Popis glavnih razlika između C++ i Jave dan je u nastavku:

Indeks usporedbe C++Java
Neovisan o platformi C++ ovisi o platformi.Java je neovisna o platformi.
Uglavnom se koristi za C++ se uglavnom koristi za sistemsko programiranje.Java se uglavnom koristi za programiranje aplikacija. Široko se koristi u Windows-baziranim, web-temeljenim, poslovnim i mobilnim aplikacijama.
Cilj dizajna C++ je dizajniran za programiranje sustava i aplikacija. Bio je to produžetak C programski jezik .Java je dizajnirana i stvorena kao tumač za sustave ispisa, ali je kasnije proširena kao podrška mrežnom računalstvu. Osmišljen je da bude jednostavan za korištenje i dostupan široj publici.
Ići C++ podržava naredbu goto.Java ne podržava naredbu goto.
Višestruko nasljeđivanje C++ podržava višestruko nasljeđivanje.Java ne podržava višestruko nasljeđivanje kroz klasu. To se može postići korištenjem sučelja u Javi .
Preopterećenje operatora C++ podržava preopterećenje operatera .Java ne podržava preopterećenje operatora.
Pokazivači C++ podržava pokazivače. Možete napisati pokazivački program u C++.Java interno podržava pokazivač. Međutim, ne možete napisati pokazivački program u Javi. To znači da Java ima ograničenu podršku pokazivača u Javi.
Sastavljač i tumač C++ koristi samo kompajler. C++ se prevodi i izvodi pomoću prevodioca koji pretvara izvorni kod u strojni kod tako da C++ ovisi o platformi.Java koristi i kompajler i interpreter. Java izvorni kod se pretvara u bajt kod u vrijeme kompilacije. Interpretator izvršava ovaj bajt kod tijekom izvođenja i proizvodi izlaz. Java se tumači zato je neovisna o platformi.
Poziv po vrijednosti i Poziv po referenci C++ podržava i poziv po vrijednosti i poziv po referenci.Java podržava poziv samo prema vrijednosti. Ne postoji poziv prema referenci u Javi.
Struktura i unija C++ podržava strukture i unije.Java ne podržava strukture i unije.
Podrška za niti C++ nema ugrađenu podršku za niti. Za podršku niti oslanja se na biblioteke trećih strana.Java ima ugrađenu nit podrška.
Komentar dokumentacije C++ ne podržava komentare dokumentacije.Java podržava dokumentacijski komentar (/** ... */) za izradu dokumentacije za Java izvorni kod.
Virtualna ključna riječ C++ podržava virtualnu ključnu riječ tako da možemo odlučiti hoćemo li nadjačati funkciju ili ne.Java nema virtualnu ključnu riječ. Prema zadanim postavkama možemo nadjačati sve nestatičke metode. Drugim riječima, nestatičke metode su virtualne prema zadanim postavkama.
nepredpisani desni pomak >>> C++ ne podržava >>> operator.Java podržava unsigned right shift >>> operator koji popunjava nulu na vrhu za negativne brojeve. Za pozitivne brojeve, radi isto kao operator >>.
Stablo nasljeđivanja C++ uvijek stvara novo stablo nasljeđivanja.Java uvijek koristi jedno stablo nasljeđivanja jer su sve klase podređene klasi Object u Javi. Klasa Object korijen je klase nasljedstvo stablo u Javi.
Hardver C++ je bliži hardveru.Java nije toliko interaktivna s hardverom.
Objektno orijentirano C++ je objektno orijentirani jezik. Međutim, u jeziku C jednokorijenska hijerarhija nije moguća.Java je također objektno orijentirano Jezik. Međutim, sve (osim temeljnih tipova) je objekt u Javi. To je hijerarhija s jednim korijenom budući da se sve izvodi iz java.lang.Object.

Bilješka

  • Java ne podržava zadane argumente poput C++.
  • Java ne podržava datoteke zaglavlja poput C++. Java koristi ključnu riječ import za uključivanje različitih klasa i metoda.

Primjer C++ programa

Datoteka: main.cpp

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

Izlaz:

 Hello C++ Programming 

Primjer Java programa

Datoteka: Simple.java

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

Izlaz:

pretvaranje niza u int u Javi
 Hello Java