C# is not a replacement for C++
More importantly, C++ is the only language in Visual Studio .NET that can create native applications for Windows. C#, as with Visual Basic .NET and the other .NET programming languages, all create programs that execute on the .NET Common Language Runtime (CLR). C++ can be used to create managed code that also runs on the CLR; however, the reason C++ will continue to be a viable, strong language is because it can also create native, Windows applications.
Native applications have the potential to be faster among many other benefits.
Brad!