IBM RSA (IBM rational software architect ) V8 建模学习之六 C++类模板设计
来源:互联网 发布:数据分类 编辑:程序博客网 时间:2024/06/05 20:44
前面已经讲述过了IBM RSA (IBM rational software architect ) V8(具体版本V8.04),建模使用的一些操作,具体可以参考如下链接:
IBM RSA (IBM rational software architect ) V8 学习之一 安装
IBM RSA (IBM rational software architect ) V8 学习之二 新建项目
IBM RSA (IBM rational software architect ) V8 学习之三 C++类图
IBM RSA (IBM rational software architect ) V8 建模学习之四 C++类图转换成c++代码
IBM RSA (IBM rational software architect ) V8 建模学习之五 C++继承设计
IBM RSA (IBM rational software architect ) V8 建模学习之六 C++类模板设计
整个的文章关于C++的类图建模的东西也差不多了,面向对象的三大特征:封装、继承和多态,都差不多了,类图自然就是描述封装了,继承前面一讲也说了,多态的话后续会做一个GOF的设计模式系之一的描述吧。
今天说说C++的一个很重要的特征--模板,同时附带着涉及一下命名空间(namespace)。
模板的建模,估计是最简单的了。
废话不多说了,开始吧:
1、还是在之前的项目上面进行,之前已经建立了一个类继承图了,如下:
在图上标柱出来了,黄色矩形区域就是RSA里面说的包了,在C++里面叫做名字空间。
2、新建一个包,名叫template_space,修改构造型为cpp_namespace类型,然后在“属性”的”高级“里面输入名字空间名字也为template_space:
再看修改名字空间的截图,如果不做这一步,你的命名空间代码将是没有名字的,也就是匿名的命名空间:
3、选择包(namespace),右键添加类图,命名为“temp_class_diag”
4、添加后在,资源管理器,在包下面就有了相应的命名空间和类图:
5、在类图里面添加一个类命名为class_temp:
6、把class修改为cpp_property类型,鼠标放在类class_temp上面,右键-->"添加UML"-->"模板参数",如下:
7、选择类,修改名字为xx,同时在类里面添加变量,m_xx_temp,选择变量类型为模板xx:
8、保存工程,生成C++代码。相应的C++代码就OK了。代码如下:
#ifndef CLASS_TEMP1_H#define CLASS_TEMP1_H//Begin section for file class_temp1.h//TODO: Add definitions that you want preserved//End section for file class_temp1.hnamespace template_space { //@generated "UML to C++ (com.ibm.xtools.transform.uml2.cpp.CPPTransformation)" template <class xx> class class_temp { //Begin section for ::class_temp1 //TODO: Add attributes that you want preserved //End section for ::class_temp1 private: //@generated "UML to C++ (com.ibm.xtools.transform.uml2.cpp.CPPTransformation)" xx m_xx_temp; }; //end class class_temp}//end namespace #endif
周末了,哈哈,累死了。
其实我非常懒的,不是怕自己忘记,真不会写这些,很多都是我自己琢磨出来的,也琢磨了很久哦,IBM RSA的相关的书籍都是V7版本或者之前的,也很少提及C++相关的操作。
还有转载请提及出处!
最后还是一句:一切都是如此美好,哈哈。
IBM RSA (IBM rational software architect ) V8 学习之三 C++类图
IBM RSA (IBM rational software architect ) V8 建模学习之四 C++类图转换成c++代码
IBM RSA (IBM rational software architect ) V8 建模学习之五 C++继承设计
IBM RSA (IBM rational software architect ) V8 建模学习之六 C++类模板设计
整个的文章关于C++的类图建模的东西也差不多了,面向对象的三大特征:封装、继承和多态,都差不多了,类图自然就是描述封装了,继承前面一讲也说了,多态的话后续会做一个GOF的设计模式系之一的描述吧。
今天说说C++的一个很重要的特征--模板,同时附带着涉及一下命名空间(namespace)。
模板的建模,估计是最简单的了。
废话不多说了,开始吧:
1、还是在之前的项目上面进行,之前已经建立了一个类继承图了,如下:
在图上标柱出来了,黄色矩形区域就是RSA里面说的包了,在C++里面叫做名字空间。
2、新建一个包,名叫template_space,修改构造型为cpp_namespace类型,然后在“属性”的”高级“里面输入名字空间名字也为template_space:
再看修改名字空间的截图,如果不做这一步,你的命名空间代码将是没有名字的,也就是匿名的命名空间:
3、选择包(namespace),右键添加类图,命名为“temp_class_diag”
4、添加后在,资源管理器,在包下面就有了相应的命名空间和类图:
5、在类图里面添加一个类命名为class_temp:
6、把class修改为cpp_property类型,鼠标放在类class_temp上面,右键-->"添加UML"-->"模板参数",如下:
7、选择类,修改名字为xx,同时在类里面添加变量,m_xx_temp,选择变量类型为模板xx:
8、保存工程,生成C++代码。相应的C++代码就OK了。代码如下:
#ifndef CLASS_TEMP1_H#define CLASS_TEMP1_H//Begin section for file class_temp1.h//TODO: Add definitions that you want preserved//End section for file class_temp1.hnamespace template_space { //@generated "UML to C++ (com.ibm.xtools.transform.uml2.cpp.CPPTransformation)" template <class xx> class class_temp { //Begin section for ::class_temp1 //TODO: Add attributes that you want preserved //End section for ::class_temp1 private: //@generated "UML to C++ (com.ibm.xtools.transform.uml2.cpp.CPPTransformation)" xx m_xx_temp; }; //end class class_temp}//end namespace #endif
周末了,哈哈,累死了。
其实我非常懒的,不是怕自己忘记,真不会写这些,很多都是我自己琢磨出来的,也琢磨了很久哦,IBM RSA的相关的书籍都是V7版本或者之前的,也很少提及C++相关的操作。
还有转载请提及出处!
最后还是一句:一切都是如此美好,哈哈。
IBM RSA (IBM rational software architect ) V8 建模学习之五 C++继承设计
IBM RSA (IBM rational software architect ) V8 建模学习之六 C++类模板设计
整个的文章关于C++的类图建模的东西也差不多了,面向对象的三大特征:封装、继承和多态,都差不多了,类图自然就是描述封装了,继承前面一讲也说了,多态的话后续会做一个GOF的设计模式系之一的描述吧。
今天说说C++的一个很重要的特征--模板,同时附带着涉及一下命名空间(namespace)。
模板的建模,估计是最简单的了。
废话不多说了,开始吧:
1、还是在之前的项目上面进行,之前已经建立了一个类继承图了,如下:
在图上标柱出来了,黄色矩形区域就是RSA里面说的包了,在C++里面叫做名字空间。
2、新建一个包,名叫template_space,修改构造型为cpp_namespace类型,然后在“属性”的”高级“里面输入名字空间名字也为template_space:
再看修改名字空间的截图,如果不做这一步,你的命名空间代码将是没有名字的,也就是匿名的命名空间:
3、选择包(namespace),右键添加类图,命名为“temp_class_diag”
4、添加后在,资源管理器,在包下面就有了相应的命名空间和类图:
5、在类图里面添加一个类命名为class_temp:
6、把class修改为cpp_property类型,鼠标放在类class_temp上面,右键-->"添加UML"-->"模板参数",如下:
7、选择类,修改名字为xx,同时在类里面添加变量,m_xx_temp,选择变量类型为模板xx:
8、保存工程,生成C++代码。相应的C++代码就OK了。代码如下:
#ifndef CLASS_TEMP1_H#define CLASS_TEMP1_H//Begin section for file class_temp1.h//TODO: Add definitions that you want preserved//End section for file class_temp1.hnamespace template_space { //@generated "UML to C++ (com.ibm.xtools.transform.uml2.cpp.CPPTransformation)" template <class xx> class class_temp { //Begin section for ::class_temp1 //TODO: Add attributes that you want preserved //End section for ::class_temp1 private: //@generated "UML to C++ (com.ibm.xtools.transform.uml2.cpp.CPPTransformation)" xx m_xx_temp; }; //end class class_temp}//end namespace #endif
周末了,哈哈,累死了。
其实我非常懒的,不是怕自己忘记,真不会写这些,很多都是我自己琢磨出来的,也琢磨了很久哦,IBM RSA的相关的书籍都是V7版本或者之前的,也很少提及C++相关的操作。
还有转载请提及出处!
最后还是一句:一切都是如此美好,哈哈。
- IBM RSA (IBM rational software architect ) V8 建模学习之六 C++类模板设计
- IBM RSA (IBM rational software architect ) V8 建模学习之五 C++继承设计
- IBM RSA (IBM rational software architect ) V8 建模学习之四 C++类图转换成c++代码
- IBM RSA (IBM rational software architect ) V8 学习之一 安装
- IBM RSA (IBM rational software architect ) V8 学习之二 新建项目
- IBM RSA (IBM rational software architect ) V8 学习之三 C++类图
- IBM Rational Software Architect 建模
- IBM Rational Software Architect 建模
- IBM Rational Software Architect(RSA) 添加或删除功能部件
- ibm rational software architect download
- IBM Rational Software Architect Standard Edition 安装
- IBM Rational Software Architect V9.0安装
- IBM Rational Software Architect 9.0安装
- IBM Rational Software Architect V9.0安装
- IBM Rational Software Architect V9.0安装
- IBM Rational Software Architect Evaluation(RSA)安装过程(图)
- 从Rational Rose 到IBM Rational Software Architect和IBM Rational Rhapsody
- 如何使用 IBM Rational Software Architect 创建复合模式
- WOJ 1084【后缀树】
- Java 多线程
- 前几天参加了云计算大会
- JSP使用
- 【Hibernate框架开发之一】搭建Hibernate环境并成功运行第一个项目HelloHibernate并解决3个常出现的运行问题;
- IBM RSA (IBM rational software architect ) V8 建模学习之六 C++类模板设计
- 使用HDFS上传
- 【Hibernate框架开发之二】第一个Hibernate-Annonation项目(采用@Entity、@Id直接映射实体类)
- 【iOS-cocos2d-X 游戏开发之十五】Cocos2dx中响应Android的Back(返回)与Menu(小房子)事件&&Cocos2dx自动释放粒子内存函数!
- 怎样从10亿查询词找出出现频率最高的10个
- 静态导入
- asp.net mvc winform benchmark
- 【iOS-cocos2d-X 游戏开发之十六】配置你的Cocos2dx项目编译后的Android自动使用(-hd)高清图&设置Android自适应屏幕、缩放比例方法!
- OAuth