There is no "have to". If you have a compiler that you can run from the command line, you can use an editor as simple as Notepad. (I'm not recommending it, but you can)
You can get an entire Integrated Development Environment (IDE) with both a compiler and a debugger bundled together. An IDE will provide a default editor for you. (Depending on the IDE you might be able to configure it to use your favorite editor instead of the default.)
Some IDEs include Visual Studio, Code::Blocks and Eclipse.
On Windows I tend to used Code::Blocks. On Linux I tend to use gvim as an editor and the compiler from the command line. However, sometimes I use Code::Blocks on Linux, too.
Visual studio is the way to go, however I would also consider setting up a g++ environment on your machine so you are not totally left behind if you need to use a unix machine later. Cygwin and others provide this in windows, you don't need to dual boot or anything.
C++ is not like scripted or interpreted languages; you do not need to do much to 'set up the environment' for it. C++ tools directly render .exe files (windows lingo here) that you can just run, and they will generally work without additional effort. Cygwin is kind of 'special', I had to add their dll path to my windows environment, just an addition to the path environment variable, nothing else was needed. The setup for any tool is rarely any more than this (a path change), and often, not even that much.
Visual studio 'recently' (depending on your age I guess) removed a lot of their editor features, so I also highly recommend notepad++ as it supports all the stuff VS removed (macro editing being the most critical of those).