C-style code uses functions for everything, uses macros heavily, and makes OOP style coding difficult, at best.
Java-style code, by contrast, uses objects for everything, abstracts away all pointer concepts, and tends to have clunky support for generics.
C++ is a hybrid language, with support for both of those styles and more. But the result of that is that doing a "pure" Java-style means you're so focused on classes and objects that you can lose sight of when a global or simple function is appropriate. Similarly, there are many C++ constructs that make C-style code very dangerous, as it steers you away from encapsulating data where appropriate. In addition, Templates allow you to do a lot of things that are very difficult in either language.
The features a language has will lend themselves to different programming styles, with some features being preferable to others in most circumstances, but not obvious if you are used to using a different language.