C++中定义虚方法时是否必须指定形参名?
问题解答
1. 虚函数的形参不需要必须设置变量名
不只是虚函数,所有C++函数的形参都允许只声明类型、不写变量名,只要你在当前函数的实现逻辑里不需要用到这个参数即可。这么写还可以避免编译器抛出「未使用的参数」这类编译警告。
2. 示例代码中形参的实际定义规则
你贴出的代码:
virtual bool myFunction(const Waypoints& /*waypoints*/) { return false; }
里的/*waypoints*/只是给开发者阅读的注释,编译器会直接忽略,所以这个形参的完整定义就是类型为const Waypoints&的无名参数。
加这个注释的目的只是为了方便读代码的人快速理解这个参数的业务含义,避免只看类型不知道这个参数的作用。
额外补充:虚函数重写的匹配规则只看函数名、参数类型列表、const属性等核心特征,和形参有没有名字、叫什么名字完全无关。如果派生类重写这个myFunction的时候需要用到这个参数,直接给形参加变量名就可以正常使用,不会影响虚函数的重写逻辑。
内容的提问来源于stack exchange,提问作者zhenDong
相关产品推荐
相关产品推荐

