From: Adam N. <a.n...@sh...> - 2011-02-19 08:55:45
|
> Works fine here! Make sure to declare your classes before you %include your > header files. Many thanks for the example! Yep, all my code looks the same. However I have figured out the difference, and if you add this function to your example you will see what I mean: boost::shared_ptr<Base> get_derived_as_base() { return boost::shared_ptr<Derived>(new Derived()); } Then using isinstance no longer works: >>> from test import * >>> isinstance(get_derived_as_base(), Derived) False This is where the dynamic_pointer_cast<> would be used in C++, so I'm not sure if there's an equivalent in Python. Thanks, Adam. |