In Java you just have references/pointer

The the question of the C versus C++
First of all remerber the history of the first compilers of C++, they where just translatting the code to C and after the C compiler where doing the work. Basicaly the object was passed has the first argument of the method, similar to some scripting languages today like Perl.

So a good desing can be done in any language, since good design should not depend of the programming language.