C++ UML中变量参数表的操作

C++ UML中变量参数表的操作,c++,uml,C++,Uml,我试图对一个类进行建模,该类有一个带有变量参数列表的方法(如UML中的printf())。知道在参数字符串中写什么吗?据我从UML2.3上层建筑规范中所见,可以为操作参数定义多重性属性。因此,一组可选参数可以用一个定义的参数来表示,并且应用多重性[0…*]。< /P> < P> C++的省略不能通过UML在多重性上建模,因为省略不是一个参数,它是给定类型的值的集合,C++省略号是非常具体的。如果没有其他可能性,使用名为“…”的参数是正确的方法(在Bouml下,可以添加省略号,而无需使用名为“…”

我试图对一个类进行建模,该类有一个带有变量参数列表的方法(如UML中的
printf()
)。知道在参数字符串中写什么吗?

据我从UML2.3上层建筑规范中所见,可以为操作参数定义多重性属性。因此,一组可选参数可以用一个定义的参数来表示,并且应用多重性[0…*]。< /P> < P> C++的省略不能通过UML在多重性上建模,因为省略不是一个参数,它是给定类型的值的集合,C++省略号是非常具体的。如果没有其他可能性,使用名为“…”的参数是正确的方法(在Bouml下,可以添加省略号,而无需使用名为“…”的伪参数)


g-makulik也是正确的,当你不知道如何建模时,反向可以帮助很多。

你的UML工具支持代码的反向工程吗?您是否尝试了将得到的结果?我仍然需要提供一个与printf()不同的类型。如果我使用void作为类型,企业架构师将生成
void printf(void[0..*]args)这不是我想要的。我不确定这是由于“不正确”的UML还是由于Enterprise Architect中的缺陷造成的。您是否通过EA的参数对话框设置了参数多重性?你尝试过用可变参数列表逆向工程C++代码吗?可能的是,EA的代码生成在某种程度上是有缺陷的,但是在标准C++代码生成模板中应该很容易修复。当我通过EA的参数对话框将参数名设置为<代码>…< /代码>及其多样性时,它对我来说是有效的。这感觉像一个丑陋的黑客,但它完成了工作。谢谢。在Bouml,当UML导出时,C++省略号的表示是什么?