如何在 Rational Rhapsody 8.0.1 中建模不可复制

How to model noncopyable in Rational Rhapsody 8.0.1

我想在我的 Rhapsody 模型中制作一个 class 不可复制,但是

=> 所以我正在用古老的方法来做这件事。

我需要从 Rhapsody 得到什么:

在这种情况下,我只想为复制构造函数和复制赋值操作生成声明 - 我不需要实现。 这可能吗?

我考虑的事情:

写一个私有拷贝函数和运算符:

class NonCopy {
    // These private versions of the copy constructor 
    // and operator will signal to the compiler to 
    // prevent automatic generation.
    NonCopy(const NonCopy& other);
    const NonCopy& operator=(const NonCopy& other);
public:
    // Your public ctors
    NonCopy(int a);
}

您可以查看 boost version of the non-copyable interface 以获得更完整的示例。

我建议采用刻板印象方法:

  1. 创建一个 NonCopyable 基础 class,例如,@Dennis 所描述的。
  2. 创建构造型,例如可以命名为<<non-copyable>>.

    a) 将构造型 属性 CPP_CG::Class::AdditionalBaseClasses 设置为 NonCopyable (上面创建的基础 class 的名称)。

    b) 使原型适用于 classes.

  3. 最后,将 <<non-copyable>> 构造型添加到所有不可复制的 classes。