[ create a new paste ] login | about

Link: http://codepad.org/gaW1v1Aq    [ raw code | output | fork ]

wiso - C++, pasted on Oct 13:
#include <iostream>

using namespace std;

struct Base
{
    Base() { cout << "Base" << " "; }
    virtual ~Base() { cout << "~Base" << endl; }

    int i;
};
struct Der : public Base
{
    Der() { cout << "Der" << endl; }
    virtual ~Der() { cout << "~Der" << " "; }

    int it[10]; // sizeof(Base) != sizeof(Der)
};

int main()
{
    Base *bp = new Der;
    Base *bq = new Der[5];

    delete    bp;
    delete [] bq;   // this causes runtime error
}


Output:
1
2
3
4
5
6
7
8
9
Base Der
Base Der
Base Der
Base Der
Base Der
Base Der
~Der ~Base

Segmentation fault


Create a new paste based on this one


Comments: