mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-04 02:42:49 -04:00
added PureVirtual
This commit is contained in:
parent
befcfc7f23
commit
81d00c8bd6
@ -662,3 +662,15 @@ def lineTag(baseFileName=1, verbose=0, separator=':'):
|
||||
else:
|
||||
return '%s%s%s%s%s' % (fileName, separator, lineNum, separator,
|
||||
funcName)
|
||||
|
||||
class PureVirtual:
|
||||
""" Python classes that want to have C++-style pure-virtual functions
|
||||
can derive from this class and call 'derivedMustOverride' from their
|
||||
'pure virtual' methods. Such Python classes can still be instantiated,
|
||||
but they will give an informative error when a pure-virtual method
|
||||
is invoked. """
|
||||
def derivedMustOverride(self):
|
||||
""" call this function from methods that must be overriden
|
||||
and are not meant to be chained down to. This simulates C++
|
||||
pure-virtual methods. """
|
||||
raise 'error: derived class must implement %s' % callerInfo()[2]
|
||||
|
Loading…
x
Reference in New Issue
Block a user