Yes I had considered the first option - the second one, for practical and good-standard programming reasons, I haven’t considered it - but, its not that practical nor makes sense having to resort to such options. I mean, this is exactly what casting is for, I can’t quite understand why it isn’t working when I have polyphormism (at least one pure virtual method is in the base class).