Copy constructor demo (crashing...)

Posted by AKN on Stack Overflow See other posts from Stack Overflow or by AKN
Published on 2010-04-22T06:43:13Z Indexed on 2010/04/22 6:53 UTC
Read the original article Hit count: 230

Filed under:
|

Here is the program...

class CopyCon
{
public:
char *name;

CopyCon()
{ 
    name = new char; 
}

CopyCon(const CopyCon &objCopyCon)
{
    name = new char;
    _tcscpy(name,objCopyCon.name);
}

~CopyCon()
{
    if( name != NULL )
    {
        delete name;
        name = NULL;
    }
}
};

int main()
{
    CopyCon objCopyCon1;
    objCopyCon1.name = "Hai";
    CopyCon objCopyCon2(objCopyCon1);
    objCopyCon1.name = "Hello";
    cout<<objCopyCon2.name<<endl;
    return 0;
}

Once the code execution completes, when the destructor called, it crashes on 'delete' saying...

Debug Error!

Program: ...

HEAP CORRUPTION DETECTED: after Normal block (#124) at 0x00366990. CRT detected that the application wrote to memory after end of heap buffer.

(Press Retry to debug the application)

Don't we have to clear the heap memory in destructor. What's wrong with this program? Pls someone help! Copy constructor works perfectly as intended. But still... !?

© Stack Overflow or respective owner

Related posts about c++

Related posts about copy-constructor