inheritance
James Dennett
jdennett at acm.org
Mon Jul 11 01:33:19 EDT 2005
J wrote:
> just to follow up. I managed to get it working by having a closer look
> at the xxmodules. However, the example does the following
>
> typedef struct
> {
> PyStructBaseClass mBase;
> int mValue;
> } PyStructDerivedClass;
>
> Does anything speak agains doing this ?
>
> typedef struct : public PyStructBaseClass
> {
> int mValue;
> } PyStructDerivedClass;
>
> It seems to work for me. The advantage is that access to the members in
> that structure is easier. The .mBase is not needed ....
Well, it's C++, not C, and in C++ you wouldn't idiomatically
use typedef there, but rather write
struct pyStructDerivedClass : PyStructBaseClass
{
int mValue;
};
You'll also be relying on assumptions of how single inheritance
is implemented by your C++ compiler -- but that said, I've used
this assumption in the past and found it to be valid for a wide
range of compiler/ABIs.
-- James
More information about the Python-list
mailing list