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

《vc++课件》模板和IO流

资源类别:文库,文档格式:PPT,文档页数:29,文件大小:131KB,团购合买
一、模板的概念 二、函数模板的定义 三、 模板函数的生成 四、区分类模板和模板类 五、 类模板的定义和使用
点击下载完整版文档(PPT)

模拟和IO流

模板和I/O流

士主要内容 ■模板的概念 ■函数模板的定义 ■模板函数的生成 ■区分类模板和模板类 类模板的定义和使用

主要内容 ◼ 模板的概念 ◼ 函数模板的定义 ◼ 模板函数的生成 ◼ 区分类模板和模板类 ◼ 类模板的定义和使用

模板 int f(int x,inty ireturn(x+y;y double f(double x, double return(x+yi] float f(float x float y return(x+y;] 数学抽象: T add(tx t yi return x+yi y

模板 int f(int x,int y) {return (x+y);} double f(double x, double y) {return (x+y);} float f(float x, float y) {return (x+y);} 数学抽象: T add(T x, T y) { return x+y; }

什么是模板? 模板是对具有相同特性的函数或类的再抽 象。C++面向对象技术中更高一级的抽象和参 数性多态的体现。 模板并非一个实实在在的函数或者类,而 是关于函数和类的描述。使用时,需要对参数 实例化,构造出具体的函数和类。这一步由编 译系统自动完成

什么是模板? 模板是对具有相同特性的函数或类的再抽 象。C++面向对象技术中更高一级的抽象和参 数性多态的体现。 模板并非一个实实在在的函数或者类,而 是关于函数和类的描述。使用时,需要对参数 实例化,构造出具体的函数和类。这一步由编 译系统自动完成

模板与它的实例 模板 函数模板或类模板 实例 实例化 模板函数 模板类对象 实例化 函数模板Tadd(TxTy){ return x+y; 侠例化 int f(int x,int y return(x+yi] 模板函数{ double f( double x, double y) return(x+y);} 系统隐式 float f( float x, float y) return(x+y)} 生成

模板与它的实例 模板 (函数模板或类模板) 模板函数 模板类 对象 实例化 实例化 实例化 T add(T x, T y) { return x+y; } int f(int x,int y) {return (x+y);} double f(double x, double y) {return (x+y);} float f(float x, float y) {return (x+y);} 函数模板 模板函数 实例化 系统隐式 生成

函数模板 参数化的函数称为函数模板 定义格式: template () 至少一个

函数模板 --参数化的函数称为函数模板 定义格式: template () { } 至少一个

说明: ·中的一项均由关键字cass开始,表示 种数据类型,在使用函数模板时必须将其实例化 参数表必须至少有一个参数说明,并且中的每个模板参数都必须在中得到使用。 函数模板的定义知识一种说明,不是一个具体的函数 编译系统不为其产生任何执行代码。只有当编译器发 现一个具体的函数调用时,才根据具体的参数类型产 生相应的代码,这部分代码称为模板函数。它是函数 模板的一个具体实例 模板函数的生成由编译系统隐式生成,其实质是函数 重载

说明: •参数表必须至少有一个参数说明,并且中的每个模板参数都必须在中得到使用。 •中的一项均由关键字class开始,表示 一种数据类型,在使用函数模板时必须将其实例化。 •函数模板的定义知识一种说明,不是一个具体的函数。 编译系统不为其产生任何执行代码。只有当编译器发 现一个具体的函数调用时,才根据具体的参数类型产 生相应的代码,这部分代码称为模板函数。它是函数 模板的一个具体实例。 •模板函数的生成由编译系统隐式生成,其实质是函数 重载

class a class B public: public: A(int y:x(y) B(int y): x(y) int fno return x*x*x; int fno return x*x*x;) private: private. int xs template : class B public: B( y: Xy Tfno return x**x; pl rivate. X

class A { public: A(int y):x(y) { } int fn() {return x*x*x;} }; private: int x; class B { public: B(int y):x(y) { } int fn() {return x*x*x;} }; private: int x; class B { public: B(T y):x(y) { } T fn() {return x*x*x;} }; private: T x; template ;

类模板 参数化的类称为类模板,它使得类中的某 些数据成员、某些成员函数的参数或返回值 能取任意类型。 定义格式: template class

类模板 --参数化的类称为类模板,它使得类中的某 些数据成员、某些成员函数的参数或返回值 能取任意类型。 template class { }; 定义格式:

模板类 类模板和它的实例 类模板模板类 关系 数学模型模型的实例 创建代码否 数据类型否 是是

模板类 类模板和它的实例 类模板 模板类 关系 数学模型 模型的实例 创建代码 否 是 数据类型 否 是

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

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

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