本文将以类CTest为例说明如何使用StarUML生成C++代码

图1 类图

CTest类包含3个成员变量iAttr、bAttr、strAttr,其类型分别是int、BOOL、CString

CTest类包含4个成员方法iFunc、bFunc、strFunc和voidFunc,其返回值类型依次是int、BOOL、CString和void

配置Profile

更详细的配置见帮助文档:菜单项 Help --> C++ Add-in Help

图2 帮助文档

这里只描述安装StarUML后,为了生成代码需要设置的步骤。

选择菜单项 Tools/Options,弹出如下图所示的对话框

图3 Options对话框

窗口左侧选择 C++/Code Generation(红色圈起部分),然后在窗口右侧勾选Generate codes even when there is no profile,否则,在类图(不是上图的Options对话框 )中右键菜单中选择菜单项 C++/Generate code...后会弹出下图所示对话框

图4 错误对话框

如果使用VC++6.0,则需要勾选Options对话框中蓝色圈起部分(Use Microsoft visual C++ grammar)。还可以根据需要勾选Generate namespace as subdirectory等选项。

生成C++代码

设置好Profile并设计好类图后,在类图的空白处右键单击并选择C++/Generate code...

图5 生成C++代码

在弹出的对话框中选择类图所属的Model,本例中CTest类在Design Model中

图6 生成代码2

选择Model后操作由于篇幅原因,在此不再赘述。

设置成员类型

到目前为止,在生成代码时,所有的成员(变量和方法)均按照默认的类型生成(成员变量类型为int,成员方法返回类型为void)。

要设置成员的类型,可以在成员后面加上:成员类型(如:int),返回类型为void的方法无需处理。

还可以通过选中类CTest,在右侧的属性对话框中设置成员的类型

在Attributes或者Operations后单击单元格,会出现“...”按钮,单击“...”按钮,会弹出

选中其中一个成员,此时主窗口右侧的属性对话框已更改,在属性对话框中设置变量类型即可。

构造函数与析构函数

到目前为止,生成的代码中不会出现构造函数和析构函数,因为构造函数和析构函数需要自己添加,并且在构造函数之前要加上<<create>>,在析构函数之前要加上<<destory>>,或者使用上图属性对话框中的Steorotype添加<<create>>和<<destroy>>

StarUML 代码生成(C++)相关推荐

  1. 使用StarUML创建类图

    1.综述(What) StarUML是一种生成类图和其他类型的UML图表的工具.本文是一个使用StarUML创建类图(Java语言描述)的简明手册. StarUML(简称SU),是一种创建UML类图, ...

  2. UML学习总结(3)——StarUML指导手册

    StarUML使用说明-指导手册 原著:Stephen Wong            翻译:火猴 StarUML是一种生成类图和其他类型的统一建模语言(UML)图表的工具.这是一个用Java语言描述 ...

  3. StarUML使用说明-指导手册

    StarUML使用说明-指导手册 原著:Stephen Wong            翻译:火猴 1.综述 StarUML是一种生成类图和其他类型的统一建模语言(UML)图表的工具.这是一个用Jav ...

  4. StarUML for Mac(UML软件建模器)

    StarUML是一款Mac平台上的UML建模工具,该软件主要用于各种图纸的绘制操作,并且可以将制作好的图纸文件导出为JPG.JPEG.BMP.EMF等图片格式,同时还拥有读取c++.c#代码生成类图的 ...

  5. StarUML使用说明

    综述 StarUML是一种生成类图和其他类型的统一建模语言(UML)图表的工具.这是一个用Java语言描述的创建类图的简明手册. StarUML(简称SU),是一种创建UML类图,并能够自动生成Jav ...

  6. 使用StarUML画类图

    原文链接:http://www.flyne.org/article/379 staruml比rational rose小多了,觉得也很实用,似乎免费 1.综述(What) StarUML是一种生成类图 ...

  7. StarUML用户手册

       StarUML用户手册     第一章 StarUML概述... 3 StarUML是什么... 3 适合用户的UML工具... 3 真正的UMD支持... 3 高可扩充及适应性... 3 ...

  8. StarUML使用指南

    拷贝地址:http://wenku.baidu.com/view/79ead68483d049649b6658f9.html 第一章 StarUML概述 本章包含StarUML™概述,StarUML™ ...

  9. 邱郁惠-StarUML建模-UMLChina讲座-音频和幻灯

    时间 2008年5月28日(周三)晚上19:00-21:00 演讲人 邱郁惠,台湾UML/MDA专家.多年来一直研究OOAD.UML.MDA,为多家大型机构提供相关的咨询服务. 声音记录 网盘下载(7 ...

最新文章

  1. LINUX DNS服务的配置(一)
  2. c代码中 执行sh文件 带参数_创建含有$1参数的Bash脚本以及运行脚本的三种方法...
  3. 倒计时 2 天 | 解锁生鲜电商的战“疫”秘密
  4. Win32 串口编程(一)
  5. php _set魔术方法的用法,PHP魔术方法__GET、__SET使用实例
  6. SpringBoot启动流程是怎样的
  7. rest服务器性能,使用多线程提高REST服务性能
  8. 最小安装下如何打开网络连接
  9. ROS入门笔记(十):编写与测试简单的消息发布器和订阅器(C++)
  10. html二叉树遍历,二叉树的遍历(前序、中序、后序、层次)
  11. 23.vs2015创建Qt界面动态库
  12. ROS 控制台:rqt_console 因为比较简单。。。
  13. php中sql语句有啥用,php中sql语句
  14. html 卫星地图显示地名,卫星图看:河南10个名字非常好听的县(区),你认识几个?...
  15. 计算机固态加机械硬盘,固态硬盘和机械硬盘怎么混合使用
  16. 定位首款弹幕K歌软件 阿里鲸鸣未来究竟能够走多远?
  17. Android神笔之Paint
  18. 噪声和信噪比的转换(如何在数据集中添加噪声)
  19. 数据库oracle11g的存储结构
  20. 使用计算机语言编程是用几进制,使用计算机高级语言编程,将下列变量值的二进制编码打印输出。请给出程序源代码和输出结果(可截屏):...

热门文章

  1. Zabbix监控平台部署+监控客户端
  2. autocad2014 第二次打开闪退_cad2014闪退怎么解决win10_win10系统打开cad2014闪退的解决步骤...
  3. DB9针型:RS485输出信号及接线端子引脚分配
  4. 2021外卖cps小程序项目|外卖红包cps带好友返利佣金分销系统程序|饿了么美团联盟源码
  5. 【echarts地图制作】下钻到乡镇/街道级别的
  6. Introduction to Graph Neural Network(图神经网络概论)翻译:Chapter2:Basic of Math and Graph
  7. 双足竞走机器人的意义_双足步行机器人
  8. 计算机网络icmp实验,北航研究生计算机网络实验_实验三 网络层实验
  9. emWin 2天速成实例教程012_基于STM32单片机的全键盘中文汉字拼音输入法
  10. 深谈SCI论文写作技巧