标签:style c class blog code java
一、什么是函数重载
函数重载(overloaded)是指,在同一作用域内,可以有一组具有相同函数名,不同参数列表的函数。这组函数被称为重载函数。重载函数通常用来命名一组功能相似的函数,这样做减少了函数名的数量,避免了名字空间的污染,对于程序的可读性有很大的好处。
举个栗子
1 #include<iostream> 2 using namespace std; 3 4 void print(int i) 5 { 6 cout << "print a integer: " << i << endl; 7 } 8 9 void print(string str) 10 { 11 cout << "print a string: " << str << endl; 12 } 13 14 int main() 15 { 16 print(12); 17 print("HELLO"); 18 return 0; 19 }
通过上面的代码实现,可以根据print的参数去决定调用print(int)还是print(string)。
如果没有函数重载机制,上述的函数需要进行不同的命名,使用时也需要进行区别。这样很不友好。
类的构造函数跟类名相同,也就是说:构造函数都同名。如果没有函数重载机制,想要实例化不同的对象很麻烦。
操作符重载本质上就是函数重载。
二、重载函数的调用匹配
按照依次按照以下规则来判断
09:49:10 函数重载
标签:style c class blog code java
原文地址:http://www.cnblogs.com/solare/p/3754463.html