J
Jeremy Moles
class BaseClass:
def __init__(self):
self.__data = None
def getMember(self):
return self.__data
class GoodSubClass(BaseClass):
def __init__(self):
BaseClass.__init__(self)
class BadSubClass(BaseClass):
def __init__(self):
self.__x = None
gsc = GoodSubClass()
print dir(gsc)
gsc.getMember()
bsc = BadSubClass()
print dir(bsc)
bsc.getMember()
------------------------------------------------
Forgive me if this topic has been brought up before, but I was curious
as to why I was getting this behavior and was hoping someone
knowledgeable could explain.
I "feel" like even without the explicit call to a simple base ctor(),
mangling should still happen correctly. This doesnt, however, seem to be
the case...
Of note: simply doing a 'pass' in BadSubClass seems to be sufficient as
well; so, it has something to do with defining a ctor() in the child and
not explicitly invoking the parent's ctor.
def __init__(self):
self.__data = None
def getMember(self):
return self.__data
class GoodSubClass(BaseClass):
def __init__(self):
BaseClass.__init__(self)
class BadSubClass(BaseClass):
def __init__(self):
self.__x = None
gsc = GoodSubClass()
print dir(gsc)
gsc.getMember()
bsc = BadSubClass()
print dir(bsc)
bsc.getMember()
------------------------------------------------
Forgive me if this topic has been brought up before, but I was curious
as to why I was getting this behavior and was hoping someone
knowledgeable could explain.
I "feel" like even without the explicit call to a simple base ctor(),
mangling should still happen correctly. This doesnt, however, seem to be
the case...
Of note: simply doing a 'pass' in BadSubClass seems to be sufficient as
well; so, it has something to do with defining a ctor() in the child and
not explicitly invoking the parent's ctor.