Yeah, I forgot I was working with std::string, I just didn't think about it because that wasn't my main problem, but I appreciate you guys reminding me. Direct comparison is much easier and less bloated than the old C-style string way; bad habits from Win32 API programming mixed with C, bleh.
Anyways, I wrote a virtual draw function in my base Sprite class, and now it works perfectly!
That looks incredibly more efficient and EXACTLY what I was looking for, I was just about to ask if there was any other more efficient way than to compare each string like that. I hate repetitive programming as there are almost always better, faster, and slimmer ways to code it. Thanks a lot everybody, I'm off to check out std::map and then continue my project! woo!