<div dir="ltr"><div class="gmail_default" style="font-family:'courier new',monospace">Hi All,</div><div class="gmail_default" style="font-family:'courier new',monospace"><br></div><div class="gmail_default" style="font-family:'courier new',monospace">

I would like to know the benefit of making constructor / destructor virtual.  As described here:</div><div class="gmail_default" style="font-family:'courier new',monospace"><br></div><div class="gmail_default" style>

<font face="courier new, monospace"><a href="http://c2.com/cgi/wiki?VirtualConstructor">http://c2.com/cgi/wiki?VirtualConstructor</a></font><br></div><div class="gmail_default" style><font face="courier new, monospace"><br>

</font></div><div class="gmail_default" style><font face="courier new, monospace">The benefit of virtual constructor seems related to "class reference". As far as I understand, it is related to how LCL works, like:</font></div>

<div class="gmail_default" style><font face="courier new, monospace"><br></font></div><div class="gmail_default" style><font face="courier new, monospace">CreateComponent(AComponent: TComponentClass);</font></div><div class="gmail_default" style>

<font face="courier new, monospace"><br></font></div><div class="gmail_default" style><font face="courier new, monospace">My questions are:</font></div><div class="gmail_default" style><font face="courier new, monospace"><br>

</font></div><div class="gmail_default" style><font face="courier new, monospace">1) if the above understanding is correct AND COMPLETE, why the constructor of TObject is not virtual? What problem will appear IF we make it virtual?</font></div>

<div class="gmail_default" style><font face="courier new, monospace"><br></font></div><div class="gmail_default" style><font face="courier new, monospace">2) What is the purpose of making destructor of TObject virtual?</font></div>

<div class="gmail_default" style><font face="courier new, monospace"><br></font></div><div class="gmail_default" style><font face="courier new, monospace">Thanks!</font></div><div class="gmail_default" style><font face="courier new, monospace"><br>

</font></div><div class="gmail_default" style><font face="courier new, monospace">Xiangrong</font></div></div>