An editor is a program which you use to edit your source code. The GNU compiler suite, like any C or C++ compiler, understands code written in plain text. You can't use a word processor like Word(TM), because uses it's own special file format to store information about the formatting of the text you write (like which parts are in bold and which are italics), margin settings, pictures, and so on. (Word(TM) and almost any other word processor can store plain text, but word processors really aren't much good for writing source code anyway.)
The details of actually using an editor are usually explained by the documentation for the editor itself. For advice on writing source code see the appropriate section in my basics of programming pages.
In the GNU world one of the most widely used editors is called Emacs. Emacs includes a whole programming language (basically a form of LISP) which makes it almost infinitely customizable. There are special modes specifically for writing source code and debugging as well. There is a version of Emacs compiled for Win32.
An alternative to Emacs, and the editor I use, is a version of vi called vim.Vim is less powerful and customizable than Emacs, but it is also a lot smaller, and I'm used to it (which is the main basis for choosing an editor anyway).
There are any number of other text editors available, many of them with special features for programming (like syntax coloring, where special keywords in the programming language you are using are drawn in a different color). A cursory search of the Web should turn up any number of text editors for you to choose from.