Java and C++
Some of the similarities and differences are in the following table:
Features Java C/C++
Pointer No Yes
Operator Overload No Yes
Structures, Unions No Yes
Enums No Yes
Functions No (only methods within classes) Yes
Goto statement No Yes
Automatic CoercionsNo(types should be converted explicitly) Yes
Global Variables No. Variable is part of a class Yes
Templates No Yes
Private, Protected, Public
Default parameters No Yes
Garbage Collection Yes No
Multi-thread support Yes No
Yes. Supports only interface inheritance and not implementation inheritance!
Yes. try/catch must be defined if the function declares that it may throw
Function Overload Yes Yes
Internationalization Yes Yes
Include of other Objects #import #include
"//","/* */,/** */
What are the main differences between Java and C++?
Everything is an object in Java (Single root hierarchy as everything gets derived from java.lang.Object).
Java does not have all the complicated aspects of C++ ( For ex: Pointers, templates, unions, operator overloading, structures etc..).
The Java language promoters initially said "No pointers!", but when many programmers questioned how you can work without pointers, the promoters began saying "Restricted pointers." You can make up your mind whether itís really a pointer or not. In any event, thereís no pointer arithmetic.
There are no destructors in Java. (automatic garbage collection).
Java does not support conditional compile (#ifdef/#ifndef type).
Thread support is built into java but not in C++.
Java does not support default arguments. Thereís no scope resolution operator :: in Java. Java uses the dot for everything, but can get away with it since you can define elements only within a class. Even the method definitions must always occur within a class, so there is no need for scope resolution there either.
Thereís no "goto " statement in Java.
Java doesnít provide multiple inheritance (MI), at least not in the
same sense that C++ does. Exception handling in Java is different because
there are no destructors.
Java is interpreted for the most part and hence platform independent.
Do you have a Java Problem?
Return to : Java Programming Hints and Tips
All the site contents are Copyright © www.erpgreat.com
and the content authors. All rights reserved.