Extending Singletons?

BlitzMax Forums/BlitzMax Programming/Extending Singletons?

The Forum Archive is locked. These are the original blitzbasic.com forums, kept so their posts can still be read and searched. No new topics, replies or edits can be made here. To join the conversation, head over to the Blitz3D+ forums.

This is probably going to be my OOP-ignorance again, but I have a bunch of types/classes which will never have more than one instance. Ideally, it would be easier to have them as singletons. IE: no fields, no methods, just globals and functions.

Problem is, these classes/types are part of a graphics engine which is completely abstracted from the renderer. So there's an abstract base type which is then extended to provide the render functionality. I can't find a way to put the two together. Sure, I can just use TVEngine.Blah() instead of GameEngine.Blah() but that's dangerous because I'm sidestepping the base class altogether and potentially using functionality which is not identical between the base and derived classes. In other words, if I forget to get the abstraction right on some functionality, my game won't notice and won't care, because it's not using the abstract class at all.

Is there any way to do this or do I simply have to have an instance of my class, even though it doesn't strictly speaking need to exist?