函数重载与运算符重载

来源:互联网 发布:用python产生文件 编辑:程序博客网 时间:2024/09/21 08:40

1.函数重载
定义名称相同但参数不同(个数、类型)的函数
int Max(int a, int b);
float Max(float a, float b);
bool Max(bool a, bool b);


//调用时编译器会自动选择正确的函数
Max(3,7);    //ok
Max(3.1,4.6);  //ok
Max(3.3,7);  //error


2.运算符重载
①重载为函数
对已有的运算符重新定义,赋予另一种功能
重载的运算有特殊名称的函数,名字有关键字operator和其后要定义的运算符号组成
返回类型  operator运算符(参数列表);
函数的参数数量应该与运算符操作的数的数目相同,一元运算符有一个参数,二元运算符有两个参数;参数类型根据要操作的对象类型决定
以下运算符不能重载:
条件运算符(?:)           作用域运算符(::)              成员指针运算符(.*)
②重载为成员函数
运算符的第一个操作元素为当前对象(也是this指针),如果有第二个参数则由参数指定






原创粉丝点击