Comparing C to C++ and Java These lists are not exhaustive! C versus C++ C does not have: -classes, and therefore C++'s rich library -struct member functions (methods) -function overloading -operator overloading - for I/O ( instead) -new/delete for allocation (malloc/free in instead) -reference variables -exceptions (look at and instead) -namespaces -templates -bool Some other differences: -C++ has // comments (although many compilers allow them in C as an extension) -In C, all declarations in a block must come before the first statement in a block. -In C, const variables have external linkage by default. In C++ the default is internal linkage. C versus Java C does not have: -classes, interfaces, a huge library -boolean -function overloading Java does not have: -structs, unions -pointers -preprocessor -unsigned types -goto -variable-length argument lists