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

标签 c++ rhapsody

我想在我的 Rhapsody 模型中创建一个不可复制的类,但是

  • 没有可用的 boost 库(我只是从中导出)
  • 我也不能使用 C++11 方法来禁用默认生成的复制构造函数和复制赋值操作(因为我需要操纵函数签名,这 AFAIK 是不可能直接实现的)

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

我需要从 Rhapsody 获得什么:

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

我考虑的事情:

  • 我还没有找到任何有用的属性。
  • 仅将成员函数的规范映射到文件对象不会阻止 Rhapsody 将空函数体生成到隐式创建的文件对象(我不需要也不想要)。

最佳答案

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

  1. 创建 NonCopyable基类,例如,@Dennis 所描述的。
  2. 创建构造型,例如,您可以将其命名为<<non-copyable>> .

    a) 设置原型(prototype)属性 CPP_CG::Class::AdditionalBaseClassesNonCopyable (上面创建的基类的名称)。

    b) 使原型(prototype)适用于类。

  3. 最后,添加 <<non-copyable>>所有不可复制的类的原型(prototype)。

关于c++ - 如何在 Rational Rhapsody 8.0.1 中建模不可复制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40673181/

相关文章:

java - 使用 Java API 添加到模型

c++ - 递归(十进制到十六进制)C++

c++ - 使用特征值的复矩阵矩阵乘法

linux - Rhapsody 可以配置为使用外部源代码编辑器吗?

clearcase-ucm - IBM Rational Rhapsody 生成的文件

c++ - 将 vector<char> 前 N 个元素转换为整数

c++ - 如何在 C++ 中为缓冲区分配更多内存?

c++ - 在 DATETIMEPICK_CLASS 元素中获取和设置日期

java - 由于 "Unable to compile"错误,无法运行 Rational Rhapsody