You are indeed correct -- I just needed to add a virtual method to the base class. As it turns out this wasn't the problem I was originally having in our application, so my attempt at creating a small sample of the problem wasn't complete.
My project's code was failing for what turned out to be a different, albeit somewhat related reason. It already had many virtual methods including the destructor. The problem with my app was I had 2 levels deep of subclasses and I didn't realize the instance I was returning was the second descendant class and not the first, which was a problem because I hadn't yet defined the python bindings for the second descendant yet. So in python it ended up giving me the base class instead. Anyhow, everything is working now and I appreciate the prompt help. Regards, Matt > Yes. I just remembered that the downcasting only works if your classes are > polymorphic; otherwise dynamic_cast (which is the underlying mechanism) > doesn't work. > > Adding a virtual destructor to the base class would be sufficient. > > Jim _______________________________________________ Cplusplus-sig mailing list Cplusplus-sig@python.org http://mail.python.org/mailman/listinfo/cplusplus-sig