函数名重载 函数名重载就是多个函数使用一个函数名 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 )