函数重载
-
-
构成重载的三大条件
-
函数名相同
-
参数列表不通(与返回值无关)
-
重载函数的作用域相同
-
-
成员函数之间可以重载,成员函数和静态成员函数之间可以构成重载,全局函数之间可以构成重载,成员函数和全局函数不构成重载
- 普通函数和模板函数之间也可以构成重载,但是优先调用普通函数,且在不能完全匹配的情况下会对普通成员函数进行隐士类型转换的匹配
例子
1 #include <iostream> 2 3 using namespace std; 4 5 int add(int a, int b) 6 { 7 cout << "int add(int a, int b)" << endl; 8 return a + b; 9 } 10 11 double add(double a, double b) 12 { 13 cout << "double add(double a, double b)" << endl; 14 return a + b; 15 } 16 17 template<typename T> 18 T add(T a, T b) 19 { 20 cout << "T add(T a, T b)" << endl; 21 return a + b; 22 } 23 24 25 int main() 26 { 27 add(1, 2); // int add(int a, int b) 28 add(1.0, 2.0); // double add(double a, double b) 29 add('a', 'b'); // T add(T a, T b) 30 31 return 0; 32 }
本文详细介绍了函数重载的概念及其在程序设计中的应用。探讨了函数重载的三个构成条件:函数名相同、参数列表不同及作用域相同。通过具体代码示例展示了不同类型参数如何实现重载,包括普通函数、成员函数与模板函数之间的重载。
1721

被折叠的 条评论
为什么被折叠?



