Are you intending to create an entirely new algorithm or just use one of the existing ones like SHA-256, Scrypt, X11, etc? If you want to create a new algorithm, then understanding cryptography in detail is an absolute must. Honestly, while learning C++ will certainly help you to understand code that's already written, it won't help you to know how to create your own coin. You need to understand peer to peer concepts, networking, threading, hashing, GUI, memory management, pointers, ... the list goes on.
If your intention is to simply mimic an existing coin by changing a few things here and there like block generation time, reward, etc, then that's a far easier task. As was mentioned, there are already coin generators out there that do all the work for you.
By the way, there are wallets that aren't written in C++. While the core software of the coin typically is, and the default wallet UIs of the coins are, there are other lightweight wallets written in other languages. For example MultiBit is written in Java.
Thank you man!
This is the most complete answer and you made me know exactly what I needed to know.
Now I realize that's a lot of stuff to study, but anyway I seriously wanna try and make my own coin.
Thank you again