4

是否有任何特定的方式来表示 UML 中的运算符重载。例如,我有以下内容:

virtual MyClass& operator= (const MyClass& right) = 0;

我可以假设它可以表示为 UML 中的普通函数,其中运算符名称为=,输入参数为(const MyClass& right),返回类型为MyClass&?。

我的假设正确吗?

4

2 回答 2

4

好的,我通过回到我的 UML 大学笔记找到了解决方案 :) (此外,我很高兴地确认,经过这么多年,大学笔记仍然非常有价值,而且总是很值得拥有!永远不要把它们扔掉)。

virtual被认为是刻板印象。操作/函数名称为operator= 返回类型为MyClass& 参数名称rightconst MyClass&

回顾一下,完整的 UML 符号应该如下:

<<virtual>> operator=(right:const MyClass&):MyClass&
于 2013-05-29T07:28:31.137 回答
0

除了诺查丹玛斯的回答:

如果您希望将强制转换运算符添加到您的类/结构中:

operator int32_t() { return id; }

您可以将以下内容键入为 UML:

int32_t(): operator

作为一种黑客。生成的代码看起来与此答案顶部的示例非常相似。

于 2019-06-25T09:23:36.050 回答