Scott -- What a great explanation ... thanks for posting it! As a newbie, I learned a lot. Can I ask a couple quick follow-ups?
First, from your explanation it seems like when one creates a derived class instance (TDerived), including the inherited constructor, then memory is allocated for the base class. In your example, a TDerived object would occupy 16 bites and TBase would occupy 548 bites, so an instance of TDerived would require 564 bites. Is that right? Likewise, it seems like freeing TDerived, without calling an inherited destructor, would leave the instance of TBase still in memory, leaking 548 bites. Is that right? Finally, I really liked your explanation--it worked well for my learning style. Do you have any particular books or internet resources that worked well for *you* for learning about OOP and/or Delphi? I figure that something you found clear might be clear to me, too. Thanks again -- Al C. >From: "Scott Kellish" <[EMAIL PROTECTED]> _________________________________________________________________ Express yourself instantly with MSN Messenger! Download today - it's FREE! http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/ _______________________________________________ Delphi mailing list -> [email protected] http://www.elists.org/mailman/listinfo/delphi

