生成具有自变量的事件

使用 GEN 命令。

关于此任务

如果事件具有自变量,那么 GEN 命令如下所示:

instance->GEN(event(parameter[, parameter]*))

在此命令中:

生成事件时,实际自变量名称以及它们的值将按以下格式出现在调用堆栈中:

instance->event(argument = parameter[,
   argument = parameter]*))

如果事件带有自变量,请提供参数数目及类型均正确的 GEN 命令。例如,如果事件 X 定义为 X(int, B*, char*),其中 BIBM® Rational® Rhapsody® 中定义的类,要生成事件,您可以输入下列任何一个命令:

A[1]->GEN(X(3,B[5],"now"))
A[1]->GEN(X(1,NULL,"later"))

事件自变量必须是指向 Rational Rhapsody 中定义的类的指针或者具有可以从字符串读取的类型(例如 intchar*)。如果要生成具有您在 Rational Rhapsody 内部或外部定义的用户定义类型的事件,那么必须重载其 I/O 流 operator>>(istream&) 或者将模板 string2X(T& t) 实例化,以使产品能够解释输入的字符。

命令 A[1]->GEN(Y(1)) 有效,这是因为,>> 运算符将字符“1”自动转换为整数 1。但是,命令 A[1]‑>GEN(Y(one)) 无效,这是因为,>> 运算符无法将字符“one”转换为整数。

注: 如果您传递复杂参数(例如 structs)并使用动画,那么必须覆盖 >> 运算符。否则,Rational Rhapsody 将生成编译错误。

反馈