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

《C++程序设计开发》第4章 重载与模板

资源类别:文库,文档格式:PPT,文档页数:48,文件大小:169.5KB,团购合买
一、函数名重载 二、函数模板 三、类模板
点击下载完整版文档(PPT)

第4章重载与模板

1 第4章 重载与模板

第4章重载与模板 22函数名重载 函数模板 类模板

2 第4章 重载与模板 函数名重载 函数模板 类模板

函数名重载 函数名重载与静态绑定 」对象赋值与赋值运算符重载 类型转换与转换函数 々插入/提取符及其重载 2运算符重载规则

3 函数名重载 函数名重载与静态绑定 对象赋值与赋值运算符重载 类型转换与转换函数 插入/提取符及其重载 运算符重载规则

函数名重载与静态绑定 函数名重载 运算符重载 运算符重载的成员函数方式和友元函数方 式

4 函数名重载与静态绑定 函数名重载 运算符重载 运算符重载的成员函数方式和友元函数方 式

函数名重载与静态绑定 绑定( binding)又称联编、聚束,是指程 序在编译或运行时将一个标识解释为一个 这里讲的绑定,主要指程序在编译或运行 相应的程序实体 时将一个函数名解释为一个相应的函数体 前面介绍的函数都是一个函数名对应一个 函数体。C+也允许一个函数名对应多个 函数体,形成函数名的多态性。这种多态 性可以简单地概括为“一个接口,多种方 法

5 函数名重载与静态绑定 绑定(binding)又称联编、聚束,是指程 序在编译或运行时将一个标识解释为一个 相应的程序实体 这里讲的绑定,主要指程序在编译或运行 时将一个函数名解释为一个相应的函数体 前面介绍的函数都是一个函数名对应一个 函数体。C++也允许一个函数名对应多个 函数体,形成函数名的多态性。这种多态 性可以简单地概括为“一个接口,多种方 法

函数名重载 函数名重载就是多个函数使用一个函数名 2先看下面的例子。 例411对任意两个数据变量或字符变量 进行交换

6 函数名重载 函数名重载就是多个函数使用一个函数名 先看下面的例子。 例4.1.1 对任意两个数据变量或字符变量 进行交换

void swap(char nl, char n2) ∥定义(1) char temp =nl: n1 n2=temp; void swap(int nl, int n2) ∥/定义(2) int temp=nI n2= temp void swap(float nl, float n2) ∥/定义(3) float te n2=temp void swap(double nl, double n2) ∥定义(4) double temp =nl n2= temp 7

7 void swap(char & n1,char & n2) // 定义( 1 ) { char temp = n1; n1 = n2; n2 = temp; } void swap(int & n1,int & n2) // 定义( 2 ) { int temp = n1; n1 = n2; n2 = temp; } void swap(float & n1,float & n2) // 定义( 3 ) { float temp = n1; n1 = n2; n2 = temp; } void swap(double & n1,double & n2) // 定义( 4 ) { double temp = n1; n1 = n2; n2 = temp; }

运算符重载 系统只预定义了少数几个用于基本类型的 运算符函数。对于更多的类型,需要程序 员自己去定义相应的运算符重载函数。通 过运算符重载,使已有的运算符可以用于 各种对象

8 运算符重载 系统只预定义了少数几个用于基本类型的 运算符函数。对于更多的类型,需要程序 员自己去定义相应的运算符重载函数。通 过运算符重载,使已有的运算符可以用于 各种对象

运算符重载 用户定义类型的重载运算符,要求能访问 运算对象的私有成员 为此只能用 成员函数 友元函数 两种形式定义运算符重载

9 运算符重载 用户定义类型的重载运算符,要求能访问 运算对象的私有成员 为此只能用 成员函数 友元函数 两种形式定义运算符重载

表达式 成员函数方式 友元函数方式 元运算表达式:ob@ obj. operatore@0).| operator@(obj,0) obj obj. operator@() operator @(obj) 三元运算表达式:1时2|0m0(o2|mmr(o,2) 10

10 表达式 成员函数方式 友元函数方式 一元运算表达式:obj @ @ obj obj.operator@ (0 ); obj.operator@( ) operator@(obj,0) operator @ ( obj ) 二元运算表达式:obj1 @ obj2 obj1.operator@ ( obj2 ); operator @ ( obj1, obj2 )

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

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

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