我想在我的 Rhapsody 模型中创建一个不可复制的类,但是
- 没有可用的 boost 库(我只是从中导出)
- 我也不能使用 C++11 方法来禁用默认生成的复制构造函数和复制赋值操作(因为我需要操纵函数签名,这 AFAIK 是不可能直接实现的)
=> 所以我正在用古老的方法来做这件事。
我需要从 Rhapsody 获得什么:
在这种情况下,我只想为复制构造函数和复制赋值操作生成一个声明——我不需要实现。 这可能吗?
我考虑的事情:
- 我还没有找到任何有用的属性。
- 仅将成员函数的规范映射到文件对象不会阻止 Rhapsody 将空函数体生成到隐式创建的文件对象(我不需要也不想要)。
最佳答案
我建议采用刻板印象方法:
- 创建
NonCopyable
基类,例如,@Dennis 所描述的。 创建构造型,例如,您可以将其命名为
<<non-copyable>>
.a) 设置原型(prototype)属性
CPP_CG::Class::AdditionalBaseClasses
至NonCopyable
(上面创建的基类的名称)。b) 使原型(prototype)适用于类。
最后,添加
<<non-copyable>>
所有不可复制的类的原型(prototype)。
关于c++ - 如何在 Rational Rhapsody 8.0.1 中建模不可复制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40673181/