Learn languages as you need them, not as you desire them.
If you simply desire something, you lead no personal attachment and so you can drop it at any point where it gets too hard. If you make yourself care on a do-or-die basis, you'll push yourself through any frustrations you come across, of which there are many when picking up programming for the first time.
Back in High School, I tried to learn C as my first language for a hobby. Couldn't do it. I got to pointers, necessary for File I/O, and it just hurt my brain too much. Consider that C++ is an extension off of C and well...it's not to say that you're not good enough, but just that it's a very complex environment, even for somebody with years of experience, and if you're only doing it for fun or a "I might want to do this", you'll drop it without a care so damn quickly.
The only language I would say I'm "good" at is C# (required at first for programming in Unity at college, and now I use it daily at work), and I learned that by having a task I needed to do (homework or an assessment), and researching the techniques and language features that were relevant, while also forwarding my code to friends/teachers who could vet my work and offer suggestions.
Also, in terms of practicality, C++ is only a good language if you're trying to do low-level system work or need to squeeze performance out of a system but don't want to go deeper (into stuff like assembly, which C++ can actually take advantage of). If you're just coding simple tools, doing web dev or making games, it's waaaaay too overkill for what you need.
Figure out what you want to do first, and then figure out what you need to get there.