[C++-sig] Inheritance and __init__
Bue Vedel-Larsen
bue.longbow at gmail.com
Wed Oct 31 13:57:44 CET 2007
"English, Mark" <Mark.English at rbccm.com> wrote in
news:EE7D40281B517A41AF5A90847A61F27947F8CE9E at SEW39051.oak.fg.rbc.com:
>> But why is this necessary? The pure Python example works
>> without explicitly calling the __init__ method of the Base
>> class. Do my class_ definition of the module lack something?
>>
> As far as I know, the Python code working is undefined behaviour.
> Whenever overriding __init__() (especially for new style classes which
> Boost Python class_ instances implicitly are), call the base class
> __init__() passing through arguments as necessary.
>
> If you don't do this, the __init__ of the base class won't get called
> which for Boost Python is bad news.
>
Ah, ok. Thanks for clearing that up.
Regards,
Bue
More information about the Cplusplus-sig
mailing list