Microsoft Visual C++. I have version 6 Standard edition, which I bought years ago and it cost about £80. I think the new version is called Visual C++.net, or something equally flash.
It has the MFC (Microsoft Foundation Classes) which are essential for Windows programming, and it has quite a cool text editor with it that has lists of available functions and variables appear as you type, which is really handy. It not only reduces the amount of typing you have to do, but also if you don't know the classes you're using very well, then it means you don't have to spend ages looking up what your options are, since they appear right in front of you!
You get automatic formatting, and pretty colours and everything. I know it's Microsoft, and has the stigma of that amongst hard-core computing die-hards, and it isn't free, but in my opinion, it's a good product, and I wouldn't use anything else. (Well, not for Windows programming in C++, anyway.)
If you're not planning on doing Windows programming, though, it's probably best to get a free compiler. You won't get the auto-typing or formatting convenience, but if you want to save a few quid, then you can do without it.