UML 图中的运算符重载

4 c++ uml operator-overloading

UML 中有没有具体的方法来表示运算符重载?例如我有以下内容:

virtual MyClass& operator= (const MyClass& right) = 0;
Run Code Online (Sandbox Code Playgroud)

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

我的假设正确吗?

小智 5

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

virtual被认为是一种刻板印象。操作/函数名称将为operator= 返回类型为MyClass& 参数名称right的类型为const MyClass&

回顾一下,完整的 UML 表示法应如下所示:

<<virtual>> operator=(right:const MyClass&):MyClass&
Run Code Online (Sandbox Code Playgroud)