我遇到了一个实现,它以 pimpl 类作为标头并将其包含在 pimpl 实现中。它甚至有意义吗?像这样的东西:
用户界面.h
class UI {
public:
UI();
virtual ~UI();
// bunch of methods
private:
UIImpl* m_impl;
}
UIImpl.h
class UIImpl
{
public:
UIImpl( ...) ;
......
}
UIImpl.cpp
#include "UIImpl.h"
UIImpl::UIImpl()
{
//Actual Implementation
...
}
我在想的原因PIMPL
是将实现完全隐藏在cpp
文件中。有一个标题会破坏目的吗?