# The following was supposedly scribed by # Sisyphus # on Sunday 19 June 2005 01:36 am:
>The exisiting DESTROY() routine won't cope with having to clean up > Civilian structures. Is there a way that the DESTROY() routine can be > modified so that it can clean up both Civilian and Soldier structures > ? Yes. > ... or does the Civilian structure need to be blessed into its own > separate package - with its own separate DESTROY() routine ? Yes. You *could* add some sort of flag to your struct and an if() to DESTROY(). Alternatively, you could write DESTROY() in perl and call one of two C methods from there. But most would argue that the civilian is not the same as a soldier? Presumably you have a set of methods that works on both of them? I haven't tried it, but what about inheritance? If Civilian @ISA Soldier, then you just override new() and DESTROY() right? You would need another constructor anyway to get a different struct. --Eric -- "I've often gotten the feeling that the only people who have learned from computer assisted instruction are the authors." --Ben Schneiderman --------------------------------------------- http://scratchcomputing.com ---------------------------------------------