Ok. I'm working on a resource system. Every resource type shares the same variables. They also all have a function to handle consumption of the resource per cycle. Let's call it Consume(). However, the computation for the consumption (the body of Consume()) is different for each type of resource. Now, my question is, what's the best approach to coding that? My only thought is to create a resource class with the variables and a virtual Consume() function, and then have each resource type inherit from that class, redefining Consume() for each. That way, I can iterate through an array of all resources and each calls its own Consume() function. Is that the best approach?