I'm not sure if GNU Classpath is written in C++ or Java but it's sure to make extensive use of the C++ Standard Template Library if it is written in C++. I think that's only been semi-completely ported to the AmigaOS 4.0 version of GCC and available for AROS also, but not for the AmigaOS 3.x versions of GCC.
C++ is slightly more powerful than Java but it still doesn't have much for safety nets. Java is much easier to learn because it does have garbage collection and so on. It's just slower than C++ generally. Also check out
GCJ for a Java frontend to GCC.