I've got a general question. When is it better to use multiple objects of a custom class as opposed to custom data structures? I have been going with the rule of thumb that if you need stored data to be more generally available, use data structures. If you need stored data to be more private or if you need to have several methods that relate to that data alone, use instances of custom classes.
On a related topic, I am working on a project that takes data from several input files all of which contain information about the same real world objects. These objects are identified in several different ways, mostly through serial numbers. The trouble is that many of these input files use different serial number formats. This necessitates the use of a translator within my program. I am considering making a custom class for the translator and making one instance of that class at the global scope so that all of my other functions, methods and classes have access. Is this a good approach?