定义:
C++ 允许在同一作用域中的某个函数和运算符指定多个定义,分别成为函数重载、运算符重载
我理解的是函数名相同,根据入口参数判断使用那个函数,简单通达
重载声明是指一个与之前已经在该作用域内声明过的函数或方法具有相同名称的声明,但是它们的参数列表和定义(实现)不相同。
当调用一个重载函数或重载运算符时,编译器通过把您所使用的参数类型与定义中的参数类型进行比较,决定选用最合适的定义。选择最合适的重载函数或重载运算符的过程,称为重载决策。
在一个作用域内,可以声明几个功能类似的同名函数,但是这些同名函数的形参必须不同(参数的数量、参数的类型、或者顺序),不能通过返回类型的不同来重载函数。
示例:
#include <iostream> using namespace std; class printData { public: void print(int i) { cout << "整数为: " << i << endl; } void print(double f) { cout << "浮点数为: " << f << endl; } void print(char c[]) { cout << "字符串为: " << c << endl; } }; int main(void) { printData pd; // 输出整数 pd.print(5); // 输出浮点数 pd.print(500.263); // 输出字符串 char c[] = "Hello C++"; pd.print(c); return 0; }
输出:
整数为: 5 浮点数为: 500.263 字符串为: Hello C++