我想从一个函数返回一个类的实现。该函数在库中。我想防止用户破坏我返回的对象。我怎样才能做到这一点?
编辑:示例。
与世界的接口(interface):
class Base
{
public:
virtual void foo() = 0;
};
Base* GetFoo();
实现 - 内部:
class Bar : public Base
{
public:
void foo() { //Do something}
};
Base* GetFoo()
{
return new Bar
}
最佳答案
您可以使用私有(private)析构函数并创建一些方法 (release()
) 以允许以受控方式释放对象。
关于c++ - 如何防止用户破坏对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4363771/