一 rose生成C++源代码
(1) 需要先设置类的语言,
设置方法:Tools->Options->Notation->把Default的Analysis换成ANSI C++
(2)需要一个component才能生成代码
在Component View的Main中拖拽生成一个Component;
(3)需要绑定类和component
在Logical View中设计好类的结构,然后在类的属性框中选择components这目录,这时会看到(2)中生成的component,点击右键,选择assign;所有希望生成代码的类都需要这样做。
(4)生成代码最后一步:
选择类图标
右击选择ANSI c++ 选中generate code
选择好路径,会为每一个类图生成.h,.cpp文件,类之间的各种关系,继承。。。也会保留。
二 由代码完善类图(部分逆向工程)
(1)编辑(修改、删除、添加属性、函数等)上面生成的.h文件,然后在rose中对应类图标右键ANSI c++ 选中reverse engineer 。此时就同步了类图
(2) 再右键类图选择ANSI c++ 中 generate code,就可以对自己编辑的.h文件按rose风格规范化。
但是.cpp文件貌似不会自动修改。只能手动?暂时没找到解决方法。
PS. 咱们没必要关注逆向工程(即给现有的C++工程生成模型图)吧,只是先设计类图,再自动生成C++代码框架。
三 rose画类图
简单的就不再说了,主要是如何声明虚函数、纯虚函数。
rename时候每个函数名前面有一个<<>> ,在它里面定义即可,如:<<virtual>> doAction,然后在stereotype(构造型)中就出现virtual选项了。
生成的.h文件: