|
ex4-15.cpp - Example 4-15 delete and destructors |
// File: eTest4-15.cpp
// delete or delete []
#include <iostream>
using namespace std;
class Test
{
private:
int n;
public:
Test()
{
n = 0;
cout << "Test constructor called\n";
}
~Test()
{
cout << "Test destructor called\n";
}
};
int main(void)
{
Test* ptrTest;
cout << "allocate space for 1 Test\n";
ptrTest = new Test;
delete ptrTest;
cout << "allocate space for 3 Tests\n";
ptrTest = new Test[3];
delete ptrTest;
// MS Visual C++ 2008 calls the destructor only once, then results in a run-time error
// Digital Mars C++ Compiler (ver 8.42) calls the destructor only once
// Borland (ver 5.51) calls the destructor only once
// gnu compilers (ver 3.0 and later) calls the destructor only once
return 0;
}
CIS27: Programming in C++ Instructor: Joe Bentley