logo

C++ vs Java

Medzi nimi je veľa rozdielov a podobností Programovanie v C++ jazyk a Java . Zoznam hlavných rozdielov medzi C++ a Java je uvedený nižšie:

Porovnávací index C++Java
Platformovo nezávislé C++ je závislé od platformy.Java je nezávislá na platforme.
Používa sa hlavne na C++ sa používa hlavne na programovanie systémov.Java sa používa hlavne na programovanie aplikácií. Je široko používaný v aplikáciách založených na systéme Windows, webových, podnikových a mobilných aplikáciách.
Cieľ dizajnu C++ bol navrhnutý pre programovanie systémov a aplikácií. Išlo o rozšírenie C programovací jazyk .Java bola navrhnutá a vytvorená ako interpret pre tlačové systémy, ale neskôr bola rozšírená ako podpora sieťových výpočtov. Bol navrhnutý tak, aby sa dal ľahko používať a bol prístupný pre širšie publikum.
Ísť do C++ podporuje príkaz goto.Java nepodporuje príkaz goto.
Viacnásobné dedičstvo C++ podporuje viacnásobnú dedičnosť.Java nepodporuje viacnásobné dedenie prostredníctvom triedy. Dá sa to dosiahnuť použitím rozhrania v jazyku Java .
Preťaženie operátora C++ podporuje preťaženie operátora .Java nepodporuje preťaženie operátora.
Ukazovatele C++ podporuje ukazovatele . Ukazovateľový program môžete napísať v C++.Java interne podporuje ukazovateľ. Ukazovací program však nemôžete napísať v jazyku Java. Znamená to, že java má obmedzenú podporu ukazovateľov v jazyku Java.
Kompilátor a tlmočník C++ používa iba kompilátor. C++ sa kompiluje a spúšťa pomocou kompilátora, ktorý prevádza zdrojový kód na strojový kód, takže C++ je závislý od platformy.Java používa kompilátor aj tlmočník. Zdrojový kód Java sa v čase kompilácie skonvertuje na bajtový kód. Interpret vykoná tento bajtový kód za behu a vytvorí výstup. Java sa interpretuje preto, že je nezávislá od platformy.
Call by Value a Call podľa referencie C++ podporuje volanie podľa hodnoty aj volanie podľa odkazu.Java podporuje len volanie podľa hodnoty. V jave nie je žiadne volanie odkazom.
Štruktúra a únia C++ podporuje štruktúry a zväzky.Java nepodporuje štruktúry a odbory.
Podpora vlákien C++ nemá vstavanú podporu pre vlákna. Pri podpore vlákien sa spolieha na knižnice tretích strán.Java má vstavaný niť podpora.
Komentár k dokumentácii C++ nepodporuje komentáre k dokumentácii.Java podporuje komentár k dokumentácii (/** ... */) na vytvorenie dokumentácie pre zdrojový kód Java.
Virtuálne kľúčové slovo C++ podporuje virtuálne kľúčové slovo, takže sa môžeme rozhodnúť, či funkciu prepíšeme alebo nie.Java nemá žiadne virtuálne kľúčové slovo. Všetky nestatické metódy môžeme štandardne prepísať. Inými slovami, nestatické metódy sú štandardne virtuálne.
posun vpravo bez znamienka >>> C++ nepodporuje operátor >>>.Java podporuje operátor posunu vpravo >>> bez znamienka, ktorý pre záporné čísla vyplní nulu hore. Pre kladné čísla to funguje rovnako ako operátor >>.
Strom dedičstva C++ vždy vytvorí nový strom dedičnosti.Java vždy používa jeden strom dedičnosti, pretože všetky triedy sú potomkami triedy Object v jazyku Java. Trieda Object je koreňom triedy dedičstvo strom v jave.
Hardvér C++ je bližšie k hardvéru.Java nie je taká interaktívna s hardvérom.
Objektovo orientovaný C++ je objektovo orientovaný jazyk. V jazyku C však nie je možná jedna koreňová hierarchia.Java je tiež objektovo orientovaný Jazyk. Všetko (okrem základných typov) je však v Jave objekt. Je to jediná koreňová hierarchia, pretože všetko je odvodené od java.lang.Object.

Poznámka

  • Java nepodporuje predvolené argumenty ako C++.
  • Java nepodporuje hlavičkové súbory ako C++. Java používa kľúčové slovo import na zahrnutie rôznych tried a metód.

Príklad programu C++

Súbor: main.cpp

dátum použitia java
 #include using namespace std; int main() { cout << 'Hello C++ Programming'; return 0; } 

Výkon:

 Hello C++ Programming 

Príklad programu Java

Súbor: Simple.java

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

Výkon:

pole reťazcov c programovanie
 Hello Java