We're taking a different philosophical approach (a pointer to a class versus deriving from a class) to the same domain but it still won't work. Or I can't find a way to finesse the compiler to make it work which is why I asked the question in the first place. Whether the "derived" class inherits from the base class (my way) or is its own class with a pointer to the "base" class (your way), the problem will always exist if I try to put the data items that are modified by the OS callbacks in the "base" class. In order for the callbacks to access the data items in the class, the data must be public. Data hiding dictates that the items are not public since no user / derivative of the class should manipulate them. Hence the conflict. I've worked around it be making the items static at the module-level in the compilation unit that contains only the "base" class. As I said, I wasn't expecting a solution, but I asked just in case I had missed something. Judy
Be wary of strong drink. It can make you shoot at tax collectors - and miss. Lazarus Long, "Time Enough For Love" by Robert A. Heinlein