//
// C.h
//
#include <memory>
class CImpl;
class C
{
public:
C();
~C(); // <== new
private:
std::auto_ptr<CImpl> pimpl_;
};
//
// C.cpp
//
#include "C.h"
class CImpl
{
// ...
};
C::C() : pimpl_(new CImpl)
{
}
C::~C() // <== new
{
}
//
// main.cpp
//
#include "C.h"
int main()
{
C c;
return 0;
}