●●● ●●●●● 第14讲运算符重载 ●●●● ●●● ● ●运算符重载的概念、方法和规则 ●运算符重载作为类的成员函数 ●运算符重载作为类的友元函数 ●特殊运算符的重载 ●类型转换函数
1 第14讲 运算符重载 ⚫ 运算符重载的概念、方法和规则 ⚫ 运算符重载作为类的成员函数 ⚫ 运算符重载作为类的友元函数 ⚫ 特殊运算符的重载 ⚫ 类型转换函数
●●● ●●●●● 学习目标 ●●●● ●●● ● ●理解运算符重载的含义和规则; ●掌握运算符重载作为类成员函数和友元函数的 方法; 掌握常用运算符的重载,了解十+和-等特殊运 算符的重载; 理解不同类型数据间转换的概念和方法
学习目标 ⚫ 理解运算符重载的含义和规则; ⚫ 掌握运算符重载作为类成员函数和友元函数的 方法; ⚫ 掌握常用运算符的重载,了解++和--等特殊运 算符的重载; ⚫ 理解不同类型数据间转换的概念和方法。 2
●●● ●●●●● 第14讲运算符重载 ●●●● ●●● ● ●运算符重载的概念、方法和规则 ●运算符重载作为类的成员函数 ●运算符重载作为类的友元函数 ●特殊运算符的重载 ●类型转换函数
3 第14讲 运算符重载 ⚫ 运算符重载的概念、方法和规则 ⚫ 运算符重载作为类的成员函数 ⚫ 运算符重载作为类的友元函数 ⚫ 特殊运算符的重载 ⚫ 类型转换函数
●●● ●●●●● 什么是运算符重载 ●●●● ●●● ● (一)什么是重载( Overloading)? 1、重载重新赋予新的含义 2、函数重载 3、运算符重载—为已有的运算符赋予多重含义。 int a,b,cr c=a+b: cout<<c double x,y, Z, z=Xty; cout<<Z, 同一运算符作用于不同类型的数据具有不同实现
什么是运算符重载 (一)什么是重载( Overloading )? 1、重载——重新赋予新的含义 2、函数重载 3、运算符重载——为已有的运算符赋予多重含义。 4 int a,b,c; c=a+b; cout<<c; double x,y,z; z=x+y; cout<<z; 同一运算符作用于不同类型的数据具有不同实现
●●● ●●●●● 什么是运算符重载 ●●●● ●●● ● int sum.a=3.b=2 sum=atb: (int )=(int)+(int 系统自动 识别数据 float add, x=3.2, y-2.5 类型 add=x+y;(float)(float)+(float) char sti[4],cl[2]="a",c2[2}="b"; str=cl+c2; ( char *(char *) char 编译系统中的运算符“+”本身不能做这种运算,若 使上式可以运算,必须重新定义“+”运算符,这种 重新定义的过程成为运算符的重载
什么是运算符重载 5 int sum,a=3,b=2; sum=a+b; (int)=(int) + (int) float add, x=3.2, y=2.5; add=x+y; (float)=(float) + (float) 系统自动 识别数据 类型 char str[4], c1[2]="a", c2[2]="b"; str=c1+c2; (char *)=(char *) + (char *) 编译系统中的运算符“+”本身不能做这种运算,若 使上式可以运算,必须重新定义“+”运算符,这种 重新定义的过程成为运算符的重载