c++ - 如何防止用户破坏对象

标签 c++ oop

我想从一个函数返回一个类的实现。该函数在库中。我想防止用户破坏我返回的对象。我怎样才能做到这一点?

编辑:示例。

与世界的接口(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/

相关文章:

java - 参数化策略模式

c++ - 使用 srand() 在随机游走中出现蝴蝶图案,为什么?

c++ - 是否可以在基于 Linux 的系统上使用 gcc 或 g++ 进行静态编译?

c++ - 类实例化的枚举数而不是构造函数?

java - 当存在不同的泛型类型时使用接口(interface)是否有意义

javascript - 如何使用 jquery 或 javascript 从对象内部将当前对象作为 JSON 字符串返回?

java - 如何不在对象和用户输入中重复验证代码

c++ - 捕获破坏了我的 lambda 函数

c++ - 如果两种语言都遵循 IEEE 754,那么两种语言的计算结果是否相同?

java - 实例化新对象与实现 reset() 方法