Wednesday, August 3, 2011

What is diffrence between c++ and java?


What is diffrence between c++ and java?
  • C++ supports pointers whereas Java does not.
  • C++ supports operator overloading,multiple inheritance but java does not.
  • Java is platform independent language but c++ is depends upon operating  system, machine etc.
  • Java uses compiler and interpreter both and in c++ their is only compiler.
  • Java has premitive data type like boolean which are not available in c++.
  • C++  does not allow persistence because it does not support database connection while Java allows persistence connection because it supports database connection.
  • C
    ++ is optional automated bounds checking.(e.g. the at () method in vector & string container) but Java is normally performs bounds checking. HotSpot can remove bounds checking.
  • c++ supports multiple inheritance but Java provides interfaces in case of multiple inheritance.
  • C++ standard libraries provide containers and associative arrays but Java libraries is inside the so-called Java Collections Framework.
  • C++ is normally compiled directly to machine code which is then executed directly by the operating system. Java is normally compiled to byte-code which the Java virtual machine (JVM) then either interprets or JIT compiles to machine code and then executes.

Syntax between c++ and java:-
C++Java
class Foo {          // Declares class Foo
public:
    int x;           // Member variable
 
    Foo(): x(0) {}   //  Constructor for Foo, initializes x
 
    int bar(int i) { // Member function bar()
        return 3*i + x;
    }
};
class Foo {               // Defines class Foo
    public int x;         // Member variable, 
                          //initialized to 0 by default
 
    public Foo() {        // Constructor for Foo
    }
 
    public int bar(int i) {// Member method bar()
        return 3*i + x;
    }
}
Foo a; 
// declares a to be a Foo object value,
// initialized using the default constructor.
// Another constructor can be used as "Foo a(args);"
Foo a; 
// declares a to be a reference to a Foo object
a = new Foo(); 
// initializes using the default constructor
// Another constructor can be used as 
"Foo a = new Foo(args);"
Foo b = a; 
// copies the contents of a to a new Foo object b;
// alternative syntax is "Foo b(a)"
Foo b = a.clone(); 
// copies the values of all members
// of this instance if, and only if,
// Foo implements a public method called
// clone() which returns a new copy of the object
a.x = 5; // modifies the object a
a.x = 5; // modifies the object a