As a pretty decent C user, I'm just wondering what's the point of an object. What does an object do that I couldn't just write out in C? Is it for readability only?

There's one application I think that might be useful. I play DotA so there's 100 characters, each with 4 abilities. You could create an object to represent each hero and they'd have generic function pointers that would be initialized to point at a specific library function (each hero's specific ability). Or maybe the pointers would make it easier to write code that would allow the function to be called from the structure itself. I don't really know.

So why should I care about objects?