VC++ provides default 'delete' operator for each class if it is not defined
<p>I think VC++ compiler provides definition for 'delete' operator for every class if it is not provided by the programmer. Can anyone please confirm?</p>

<p>The generated dis assembly code in VC++ says that there is common 'new' operator for every class. However, 'delete' operator exist for each class. Here is the evidence:</p>

<pre><code>delete bPtr;
// The dis assembly code generated by vc++ for above line    
....
**call        Base::`scalar deleting destructor' (411253h)** 
....

delete [] bPtrArr;

// The dis assembly code generated by vc++ for above line
....
**call        Base::`vector deleting destructor' (41125Dh)** 
....
</code></pre>

<p>Call Stack:</p>

<pre><code>malloc.exe!Base::~Base()  Line 128
malloc.exe!Base::`scalar deleting destructor'()  + 0x2b bytes
malloc.exe!wmain(int argc=0x00000001, wchar_t * * argv=0x00343250)  Line 173 + 0x2b bytes
malloc.exe!__tmainCRTStartup()  Line 579 + 0x19 bytes
malloc.exe!wmainCRTStartup()  Line 399
</code></pre>
