I would recomend to a new programmer to learn Java first, then C++. The high level of object oriented-ness is a good practice in C++ and it lets you learn HOW to program and how to think like a programmer without worrying about memory management (although Qt takes a ton of load off this!) and some of C++'s other "advanced" features. (plus the syntax a VERY similar)
While this sounds good in theory, I have seen it fail many times in practice. The problem is that C++, although an OO language, still necessitates learning and knowing lower level stuff. As well, OO concepts in C++ work differently than in Java. I think Java can help understanding OO and C++ concepts and maybe provide some sort of fast track into learning C++, but people who try to make a straight Java to C++ transition often have a lot of dificulty w/ pointers, and C'tor, CC'tor and D'tor concepts, and inheritence. I think it is lot wiser, if one knows Java, to learn C first and pointers, structs, etc.. just the basics. Then move on to C++. I think lots of people take the suggested approach Java -> C++, and I have seen lots of people in my school struggle when attemping this because they write C++ code Java style, and then end up not having any idea of what's actually going on when things begin to segfault. This is just my opinion, and isn't based on any strong empirical evidence or anything, just on my observations. I dont know. Anyway this may be OT, if so I am sorry.

Bojan