多态性不只限于类中,对函数也是一样的,具体来讲就是函数名相同但是具体实现不同,这也叫重载。那么在返回值类型相同的情况下,重载是凭什么区别的?凭两点:1、函数参数个数,2、函数参数类型。这一种是经常能够用到的,也是推荐使用的。
C++也允许你的重载函数返回值不同,不过这必须满足重载函数的新参列表也必须不同才行。
C++中重载函数你最好不要只写一个形参类型,还应该再带上一个形参,因为这样做,因为编译器会对函数原型中的形参进行加密,而你不写形参的话,不同的编译器所采取的加密策略也不同,而你形参列表写得越模糊编译器所建立的可选集也就越多,这无疑会增加成本和复杂度。