当前位置:高等教育资讯网  >  中国高校课件下载中心  >  大学文库  >  浏览文档

广东海洋大学:《C++程序设计》第15章 模板的使用

资源类别:文库,文档格式:PPT,文档页数:11,文件大小:138.5KB,团购合买
模板与使用 模板就是使程序能够对不同类型的数据进行相同 方式的处理。C++中的模板分为类模板和函数模板 类模板 说明类模板的一般格式为:
点击下载完整版文档(PPT)

模板

模椒与使用 模板就是使程序能够对不同类型的数据进行相后 方式的处理。C艹中的模板分为类模板和函数模板 类模板 说明类模板的一般格式为: template class类模板名 i private 私有成员定义 protected 保护成员定义 public 公有成员定义};

模板与使用 模板就是使程序能够对不同类型的数据进行相同 方式的处理。C++中的模板分为类模板和函数模板。 类模板 说明类模板的一般格式为: template class 类模板名 { private: 私有成员定义 protected: 保护成员定义 public: 公有成员定义 };

模板与使用 其中:(1类型形式参数表可以包含基本数据类型,也 可以包含类类型,如果是类类型,则须加前缀 class 当参数有多个时,需用逗号隔开。 (2)类模板中的成员函数的定义,可以放在类模板的定 义体中(此时与类中的成员函数的定义方法一致) 也可以放在类模板的外部定义成员函数.此时成员函 数的定义格式如下: template 函数值的返回类型类模板名::成员函 数(形参){函数体} 其中:类模板名即是类模板中定义的名称;类型名 表即是类模板定义中的类型形式参数表中的参数名

模板与使用 其中:(1)类型形式参数表可以包含基本数据类型,也 可以包含类类型,如果是类类型,则须加前缀class。 当参数有多个时,需用逗号隔开。 (2)类模板中的成员函数的定义,可以放在类模板的定 义体中(此时与类中的成员函数的定义方法一致), 也可以放在类模板的外部定义成员函数,此时成员函 数的定义格式如下: template 函数值的返回类型 类模板名::成员函 数(形参) { 函数体} 其中:类模板名即是类模板中定义的名称;类型名 表即是类模板定义中的类型形式参数表中的参数名

模板与使用 (3)利用类模板定义的只是对类的描述,它本身还不是 个实实在在的类。因此是类模板。 (4)要定义类模板的对象(即实例),痹要用下列格式 的语句 类模板名对象名; 例】定义类模板ABC,内含成员函数set和get。用 ABC生成对象abcl和abC2。它们的数组元素数不同, 显示的结果也不同。 include class abC i private T array ∥定义数组 array

模板与使用 (3)利用类模板定义的只是对类的描述,它本身还不是 一个实实在在的类。因此是类模板。 (4)要定义类模板的对象(即实例),需要用下列格式 的语句: 类模板名 对象名; 【例】 定义类模板ABC,内含成员函数set和get。用 ABC生成对象abc1和abc2。它们的数组元素数不同, 显示的结果也不同。 # include // 定义类模板ABC template class ABC { private: T array [I] ; // 定义数组array

模板与使用 ublic void set(int x) ∥/定义成员函数set for(i=0;i<;计+)/循环次 arrays= /数组元素赋值 void get O ∥定义成员函数get cout<<"Ⅶn数组元素总数为:"<<I<endl; cout <<array[<<l-1<<]=<<array[l-1<endl; void maino {:模板ABC生成对象abcl

模板与使用 public: void set (int x) // 定义成员函数set { int i; for (i=0; i<I; i++) //循环I次 array[i]=x+i; //数组元素赋值 } void get () //定义成员函数get { cout <<"\n 数组元素总数为:"<< I<<endl; cout <<" array["<<I-1<<"]="<<array[I-1]<<endl; } }; void main() { //由模板ABC生成对象abc1

模板与使用 abC abc1 abc1. set(O) ∥/调用对象abc1.set abcl get( ∥调用对象abcl.get /模板ABC生成对象abc2 abC abc2 abc2set(10),∥调用对象abc2set abc2.get;∥调用对象abc2get 以下是对上例中的成员函数定义体放于类模板外部 定义的示例。 例】定义模板ABC,內含成员函数se和get。用 ABC生成对象abcl和abC2。它们的数组元素数不同, 显示的结果也不同

模板与使用 ABC abc1; abc1.set(0); //调用对象abc1.set abc1.get(); //调用对象abc1.get //由模板ABC生成对象abc2 ABC abc2; abc2.set(10); //调用对象abc2.set abc2.get(); //调用对象abc2.get } 以下是对上例中的成员函数定义体放于类模板外部 定义的示例。 【例】 定义模板ABC,内含成员函数set和get。用 ABC生成对象abc1和abc2。它们的数组元素数不同, 显示的结果也不同

模椒与使用 #include ∥/定义类模板ABC template void abC<T讠set(intx)∥定义成员函数set i int i

模板与使用 #include // 定义类模板ABC template class ABC { private: T array [I] ; // 定义数组array public: void set (int x); // 定义成员函数set void get () ; //定义成员函数get }; template void ABC ::set (int x) // 定义成员函数set { int i;

模椒与使用 for(=0;i void ABC geto {cout abc1 abcl set(O) /调用对象abcl.set abcl getO /调用对象abc1.get

模板与使用 for (i=0; i void ABC::get() { cout abc1; abc1.set(0); //调用对象abc1.set abc1.get(); //调用对象abc1.get

模板与使用 /模板ABC生成对案abc2 aBC abc2 abc2. set(10) ∥/调用对象abc2,set abc2. getO /调用对象abc2.get 类模板的使用方法可以总结为 (1)给出类模板的定义体 (2)在适当的位置创建一个类模板的实例,即一个实 实在在的类定义,同时创建该模板类的对象。 (3)有了对象名,以后的使用就和普通类的对象是 致的

模板与使用 //由模板ABC生成对象abc2 ABC abc2; abc2.set(10); //调用对象abc2.set abc2.get(); //调用对象abc2.get } 类模板的使用方法可以总结为: (1) 给出类模板的定义体。 (2)在适当的位置创建一个类模板的实例,即一个实 实在在的类定义,同时创建该模板类的对象。 (3)有了对象名,以后的使用就和普通类的对象是一 致的

模椒与使用 函教模板 函数模板是函数的一种抽象形式。由于C++中的数 据类型很多,针对某种类型设计的函数显然不能用于 其它类型,因此对于同一个功能的要求,不得不编制 多个相似的程序,比如求两个量中最小值的函数,相 似的函数可能有 (1)求两个整型数据的最小值: int min(intx,inty) 2)求两个单精度数据的最小值: float min( float X, float y) (3)求两个双精度数据的最小值: double min( double x double y) 为了解决以上的麻烦,C艹十引入了函数模板的概念 函数模板就是用來解决一个模板生成多个函数的问颞

模板与使用 函数模板 函数模板是函数的一种抽象形式。由于 C++中的数 据类型很多,针对某种类型设计的函数显然不能用于 其它类型,因此对于同一个功能的要求,不得不编制 多个相似的程序,比如求两个量中最小值的函数,相 似的函数可能有: (1)求两个整型数据的最小值:int min(int x,int y) (2)求两个单精度数据的最小值:float min(float x,float y) (3)求两个双精度数据的最小值:double min(double x, double y) 为了解决以上的麻烦,C++引入了函数模板的概念。 函数模板就是用来解决一个模板生成多个函数的问题

点击下载完整版文档(PPT)VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
共11页,试读已结束,阅读完整版请下载
相关文档

关于我们|帮助中心|下载说明|相关软件|意见反馈|联系我们

Copyright © 2008-现在 cucdc.com 高等教育资讯网 版权所有