I used C++ from 1989 to 1997 and then switched to Java. Here are a few things to consider:
1. Knowing more languages is better than less.
2. C++ is MUCH harder as a language. Java is an easy language but it has a huge library. If you can learn C++, you can learn Java.
3. Java is a significant departure from C++ in that is uses a virtual machine to run its programs. You WILL be using this kind of technology in the future. It's required, so that's not a big deal.
There is a lot of Java and C++ development going on right now. However, C++ is really showing its age. Java is to a lesser extent.
You should not focus on learning one language or one kind of language. If you have the chance to take a programming languages course where you work with several different languages, take it. For example, if you can get a chance to try a functional language (lisp, scheme, fp), do it. Give erlang and scala a try.
Your CS degree should not be based on a programming language. It should be based on principles such as data structures and algorithms, discrete mathematics, operating systems and/or compilers, etc.
You should be looking at mashups and dynamic languages.
Personally I don't like C++. I think it is a language of the past. I know I'll get flamed for saying it. You can do a hell of a lot in the language but it is simply a burden to work with.
I recommend you take a class that teaches some kind of assembly. Make sure you understand FRAMES or ACTIVATION RECORDS - (same idea, different terms) - see if your class teaches you how to write recursive algorithms in assembly using hand-formed frames (you only need to do this once to get a good understanding).
Learn about concurrency versus parallelism. If you get a chance to do multi-core design, take it. That's the future.
UNDERSTAND the following algorithms by the time you are out of your CS degree: producer-consumer, readers-writers, dining philosophers.