// An example of a C++ class tha does // not have memory leaks. Filter::Filter() { buf = 0; } Filter::AllocateBuffer(int n) { DeallocateBuffer(); buf = new int [n]; if (buf == 0) { cerr << “allocation failed”; exit(0); } memset(buf, 0, n* sizeof(int)); } Filter::DeallocateBuffer() { delete [] buf; buf = 0; } Filter::~Filter() { DeallocateBuffer(); }