I am a C# developers in electronic trading and have some knowledge regarding C++ as well. I can tell you the difference between both.
C#:
Speed: Not optimal. Slower than Java. Codes are compiled into intermediate language. CLR will translate them into machine instructions later. (similar to the way JVM takes byte code. but it is even slower)
Super easy syntax. Lambda expression. LINQ. Handle memory leak automatically.
UI: WPF(escape from the traditional windows and allow UI to be customizes and nested)
Multi-threading and parrallel programming: very mature .Net library specialized for this kind of stuff. They even provide you a ThreadPool to schedule threads and enable parrallellism if you are running on a multi-core machine.
C++:
Fast. Codes are complied into machine code. That is something you cannot compete with using Java or C#.
Hardest syntax in high level language probably. You need to handle memory leak on your own.
UI: I have not tried but I assume it would not be easy
Multi-threading: Boost has a very mature library for multi threading. but it is not as easy as the one in C#.
I do not see it replacing C++. Well..someone can just load the C++ quant libraries in C# for some UI applications if required.
Hope it helps