logo

C++ proti Javi

Obstaja veliko razlik in podobnosti med C++ programiranje jezik in Java . Spodaj je naveden seznam glavnih razlik med C++ in Javo:

java predmet v json
Primerjalni indeks C++Java
Neodvisno od platforme C++ je odvisen od platforme.Java je neodvisna od platforme.
Uporablja se predvsem za C++ se uporablja predvsem za sistemsko programiranje.Java se uporablja predvsem za programiranje aplikacij. Široko se uporablja v aplikacijah, ki temeljijo na operacijskem sistemu Windows, spletnih, poslovnih in mobilnih aplikacijah.
Cilj oblikovanja C++ je bil zasnovan za programiranje sistemov in aplikacij. To je bil podaljšek Programski jezik C .Java je bila zasnovana in ustvarjena kot tolmač za tiskalniške sisteme, kasneje pa se je razširila kot podporno omrežno računalništvo. Zasnovan je bil tako, da je enostaven za uporabo in dostopen širšemu občinstvu.
Pojdi do C++ podpira stavek goto.Java ne podpira stavka goto.
Večkratno dedovanje C++ podpira večkratno dedovanje.Java ne podpira večkratnega dedovanja prek razreda. To je mogoče doseči z uporabo vmesniki v Javi .
Preobremenitev operaterja C++ podpira preobremenitev operaterja .Java ne podpira preobremenitve operaterja.
Kazalci C++ podpira kazalce. Kazalec lahko napišete v C++.Java interno podpira kazalec. Vendar pa kazalnega programa ne morete napisati v Javi. To pomeni, da ima java omejeno podporo za kazalec v javi.
Prevajalnik in tolmač C++ uporablja samo prevajalnik. C++ se prevede in izvaja s pomočjo prevajalnika, ki pretvori izvorno kodo v strojno kodo, tako da je C++ odvisen od platforme.Java uporablja tako prevajalnik kot tolmač. Izvorna koda Java se med prevajanjem pretvori v bajtno kodo. Tolmač izvede to bajtno kodo med izvajanjem in ustvari izhod. Java se interpretira, zato je neodvisna od platforme.
Klic po vrednosti in Klic po sklicu C++ podpira klic po vrednosti in klic po sklicu.Java podpira samo klic po vrednosti. V Javi ni klica s sklicevanjem.
Struktura in zveza C++ podpira strukture in unije.Java ne podpira struktur in zvez.
Podpora niti C++ nima vgrajene podpore za niti. Za podporo niti se zanaša na knjižnice tretjih oseb.Java ima vgrajeno nit podporo.
Komentar dokumentacije C++ ne podpira dokumentacijskih komentarjev.Java podpira dokumentacijski komentar (/** ... */) za ustvarjanje dokumentacije za izvorno kodo Java.
Virtualna ključna beseda C++ podpira virtualno ključno besedo, tako da se lahko odločimo, ali bomo funkcijo preglasili ali ne.Java nima virtualne ključne besede. Privzeto lahko preglasimo vse nestatične metode. Z drugimi besedami, nestatične metode so privzeto virtualne.
nepredznačeni desni premik >>> C++ ne podpira operatorja >>>.Java podpira operater nepredznačenega desnega premika >>>, ki zapolni ničlo na vrhu za negativna števila. Za pozitivna števila deluje enako kot operator >>.
Dedno drevo C++ vedno ustvari novo drevo dedovanja.Java vedno uporablja eno samo drevo dedovanja, ker so vsi razredi podrejeni razredu Object v Javi. Razred Object je koren za dedovanje drevo v Javi.
Strojna oprema C++ je bližje strojni opremi.Java ni tako interaktivna s strojno opremo.
Objektno usmerjen C++ je objektno usmerjen jezik. Vendar pa v jeziku C hierarhija z enim korenom ni mogoča.Java je tudi objektno usmerjen jezik. Vendar je v Javi vse (razen temeljnih tipov) predmet. To je enokorenska hierarhija, saj vse izhaja iz java.lang.Object.

Opomba

  • Java ne podpira privzetih argumentov, kot je C++.
  • Java ne podpira datotek glave, kot je C++. Java uporablja ključno besedo import za vključitev različnih razredov in metod.

Primer programa C++

Datoteka: main.cpp

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

Izhod:

 Hello C++ Programming 

Primer programa Java

Datoteka: Simple.java

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

Izhod:

 Hello Java