1 / 69
文档名称:

泛型技术-PPT(荐).ppt

格式:ppt   页数:69页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

泛型技术-PPT(荐).ppt

上传人:3188035052 2016/7/30 文件大小:0 KB

下载得到文件列表

泛型技术-PPT(荐).ppt

相关文档

文档介绍

文档介绍:面向对象设计方法? 泛型简介? C++ 中的泛型? STL ? JAVA 中的泛型? C++ 和 JAVA 中泛型的比较? 泛型的好处第九章泛型技术 (Generic) ,是指具有在多种数据类型上皆可操作的含意。既编写的代码可以在不同的数据类型上重用。实现对源代码进行重用,既不是通过继承和聚合重用对象代码,也不是代码的复制粘贴复用。泛型编程(Generic Programming) 泛型简介 C++ 中泛型简介在 C++ 语言中称泛型为模板(template), 模板由函数模板和类模板两部分组成,以所处理的数据类型的说明作为参数的函数叫做函数模板, 而以所处理的数据类型的说明作为参数的类就叫类模板。 C++ 中的泛型 1. 示例:加法函数的重载 int Add( int a, int b ) { return a + b ; } long Add(long a, long b ) { return a + b ; }根据不同的数据类型进行多次重载, 但是实现的代码都是一致的。 函数模板 2. 函数模板的语法 template <class Type> Type Add( Type a, Type b ) { return a + b ; }具体使用为: Add(10,100); Add(,); 函数模板 template : 关键字,总是放在模板的定义与声明的最前面<> : 模板参数列表,如果有多个模板参数用逗号隔开;模板参数分模板类型参数和模板非类型参数(代表一个常量表达式)。 class :关键字, 声明模板类型参数,用 typename 替代也可以。 函数模板 template <class Type> 例如: template <class Type , class TypeB> Type Add( Type a, TypeB b ) { return a + b ; }注意此时 a和b是两种不同的变量类型 函数模板例如: template <class Type , int size> Type Add( Type a) { return a + size ; }注意此时 a是模板类型参数,而 size 是模板非类型参数。模板非类型参数是常整数(包括枚举值)或者指向外部链接对象的指针,不能是浮点数和类对象。 函数模板例如: template <class Type > Type Add( Type a , int size) { return a + size ; }注意此时 a是模板类型参数,而 size 是函数参数 函数模板