函数重载是指在同一作用域内,可以有一组具有相同函数名,不同参数列表的函数,这组函数被称为重载函数。
优点:通过重载不同参数的同名函数,可以令代码更加直观,模板化代码需要重载,同时为访问者带来便利。
缺点:
- 在特点调用处很难确定到底调用的是哪个函数;
- 当派生类只重载函数的部分变量时,会令很多人对继承语义产生困惑;
- 在阅读库的客户端代码时,因缺省参数造成不必要的费解。
结论:
- 仅在输入参数类型不同、功能相同时使用重载函数(含构造函数),不要使用函数重载模仿缺省函数参数;
- 如果想重载一个函数,考虑让函数名包含参数信息,例如,使用 appendiString()、appendInt() 而不是 append()。
网友评论