(一)函数重载:
1、函数名相同
2、函数参数的类型不同,或者参数的个数不同,或者两者兼而有之。
注意:当函数的重载与带默认值的函数一起使用时,有可能引起二异性。
(二)模板:
1、分类:函数模板与类模板
2、(1)函数模板:函数体相同的函数都可以用这个模板来代替,不必像函数重载那样定义多个函数。关键字是template。函数模板也可以重载、函数模板与同名的非函数模板可以重载。
(2)类模板:类体相同的函数都是可以用这个模板来代替,关键字是template.
注意:需要在成员函数定义前定义之前进行模板声明;
在成员函数名前缀上“类名<类型参数>;