This happened with me when I learnt stuff but didn't actually program with it. I tend to read programming books on the bus when I go to school, but unless I actually make use of what I learnt when I get back after work at night, I'll forget a good portion of it.
Although I'm guessing your problem was more to do with syntax, not forgetting how the features actually work in the first place?
I started with the online tutorials at cplusplus.com until they got too hard for me to understand (I think it was when I hit arrays / pointers when I started). If you find that they get too hard as well, you can go watch some YouTube tutorials (TheNewBoston is pretty good). This is the best way to learn for free.
The best way, however, is to buy some books. They're expensive, but definitely worth it. If you have the money, it's also worthwhile buying a couple to read at the same time. When I was reading through my first book, I got completely lost at times, but the other book explained the problem in a much clearer fashion. Plus, each book tends to go into more detail in different subjects than the others, so you'll learn more that way too.
One important tip is to actually type code while learning. Even if you're watching your first Hello World! video, type what the guy in the video does. It really helps a lot with memorizing things and gets you eager to change things here and there. Experimentation is the key to learning the language, making things work.
This is my first post here so I'd like to give a bit of background first. Hey all.
Alright so first, I haven't made a 'proper' game yet. I just started programming a few months back and have a pretty solid understanding of the language (C++), but I haven't done anything graphical. The games I have made have been pretty complex console programs, plus I've made some really neat map generators (including semi-isometric ones, making minerals spawn in random but sensical places etc.).
Now you guys are thinking "why is this guy trying to make an RPG, sigh, all the newbies thinking they can jump in at the deep end". I see people talking about wanting to make their amazing new MMO idea and they clearly don't have a clue about what that actually entails, but the RPG I plan on making actually works right now. I have the battle system and a bunch of other stuff coded already. It's an original system which is unique as far as I know, with a bunch of great tactical options - especially for something that's based on Japanese battle systems. It really isn't as efficient as it could be, but that'll improve over time. Other stuff like collision etc. I'll have to learn from scratch though, I'm not that far ahead yet. Anyway!
Main topic: I'm asking you guys for help, since I'm pretty ignorant of how games are actually built. Specifically, I'd like to know how you guys would go about coding the effects of skills without just plan coding them in a massive list. Right now, I have a bunch of .txt files with skill names, stats, levels etc stored in them, and I get that info via file i/o. The only way I can think of getting them to actually do something is to have a massive switch(case) or something, then basically writing the code for each individual skill in each case. This may be the typical way that you'd program it, but I don't know that. It's worth mentioning that I have a ton of skills, somewhere around 50-60, so that's why I'm even bothering to ask.
You're all welcome to give me advice about other things too, since again I'm completely new to actual game development. Also uh, I'll be learning/using SFML when making this.