In my opinion, if you can get one of the "light" versions of the music notation packages, or PrintMusic, NoteWorthy, or one of those, AS LONG AS YOU CAN RECORD TO MIDI, you should. You probably don't need a full notation package. The important thing is that you should be able to record to MIDI.
Those programs, especially "light" ones, will have limitations. Of course. But there are free programs that will help with that. You can download "soundfonts" online (hammersound.net has some, for example) and apply them with a program called Synthfont after you save to a MIDI. This will just change the instrument on your MIDI sounds to an instrument you downloaded. This has the downside of being rather antiquated -- you don't find soundfonts being made anymore, and hammersound.net hasn't been updated in at least two years, I think -- but it works. Synthfont will save your song as a .wav.
Your program may also be limited in number of staves/tracks, let's say, or especially in the number of staves that can be played together. So you can save different groups of tracks in different MIDI files, record them to .wav with Synthfont (you'll have to download each soundfont separately, though, remember), and put them together with some .wav editing program, like Audacity, which is also free. Then a program called Zlurp! can convert that .wav to an .mp3 if that's what you want, or iTunes can do it.
If you just want MIDI, though, you'd be fine without this whole thing, as long as your notation program gives you enough polyphony. (: A program called Anvil Studio can help you edit the MIDI as well. Note that all of these programs I mentioned, except for the initial notation program, are free -- as in, you don't have to pay for them. I'd recommend that before investing money in something you might lose interest in later. As for the notation program, I use Sibelius 3, but that costs money.
I hope you've read this far. (: I'm a musician -- well, I'm a science researcher now, but I've been playing several instruments for many years, singing, and composing; I've taken music theory classes in high school and at Harvard; I read harmony books for fun (if someone could recommend a good one on modern TONAL harmony, I'd be happy). I know how to read and write music. I had a treble staff with notes around my crib as a baby. The point of this isn't to brag but to tell you that this kind of thing is appropriate for what
I do (which is also online at
http://people.fas.harvard.edu/~braunst). HOWEVER, you can most likely find tutorials for learning to read music online, and if not, at a library or music store. Plenty of musicians learned late how to read music, and many guitar players still can't (they only read guitar tab, which tells them where to touch their instrument as opposed to what notes to play; with music notation, they have to figure out where to touch the instrument themselves), so there are plenty of resources for learning music notation. I selfishly believe that this is a good thing to do -- learn music notation -- and if you're trying to learn C++ anyway, something I could never persuade myself to finish doing, then adding another very useful skill to your repertoire would probably be agreeable to you.
Good luck!
HHCC
Mauro