考虑:
//在Vector2.h
- class Vector2
- {
- public:
- // returns the degrees in radians
- static double calcDir(double x,double y);
- }
//在Vector2.cpp
- double Vector2::calcDir(double x,double y)
- {
- double rad = ...;
- return rad;
- }
为什么在Vector2.cpp的签名中不需要关键字static?当我尝试这个,它会产生一个错误:
- static double Vector2::calcDir(double x,double y)
这似乎与我不一致.需要在.cpp文件(返回类型,方法名称(duh),args的名称和类型,const-ness)中重复方法签名的所有其他部分.我不喜欢不知道一个方法是否是静态的(当看到实现时).
有没有理由这不但不是必需的,而且是禁止的?