<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>