Explain Object-Oriented Programming Like I'm 5
I'm an experienced C programmer, but I don't know that much about C++ and I'd like to know why it's better, worse, or just as good.
I'm probably just ignorant, but to me, I don't see that many benefits with classes other than for organization purposes. I know they can keep variables and functions (or "methods") private, but why would you need private variables and functions? If those variables and functions aren't to be called or accessed, then don't call or access them.
I can see why they would be useful if you're writing a library and there's certain functions you don't want your users to mess with, but why would you use them in your own programs? Aren't structures just as good for organizing your data? You can make copies of them with typedef.
I'm probably being really stupid, because like I said I don't know that much about OOP, these observations are just from what I know of it.