将析构函数作为私有函数有什么用?
发布于 2009-03-10 20:17:34
我知道你问的是私有析构函数。下面是我如何使用受保护的文件。其想法是,您不想通过指向类的指针来删除main类,这会给main添加额外的功能。
在下面的示例中,我不希望通过HandlerHolder指针删除GuiWindow。
class Handler
{
public:
virtual void onClose() = 0;
protected:
virtual ~Handler();
};
class HandlerHolder
{
public:
void setHandler( Handler* );
Handler* getHandler() const;
protected:
~HandlerHolder(){}
private:
Handler* handler_;
};
class GuiWindow : public HandlerHolder
{
public:
void finish()
{
getHandler()->onClose();
}
virtual ~GuiWindow(){}
};https://stackoverflow.com/questions/631783
复制相似问题