在先前在h文件中签约的cpp文件中实现方法时,有没有什么方法可以简化类的显式语句?
像...一样的东西。
MyClass:: {
void my_method() { implementation };
void my_other() { implementation };
}
答案 0 :(得分:1)
没有,但一个好的IDE将提供一些重构设施来简化打字。对于Visual Studio,VisualAssist是一个很好的插件(不以任何方式附属)。
您可以选择创建自己的宏,例如:
// This is very ungly, probably best avoided
#define lessTyping(method) MyClass::##method()
lessTyping(my_method)
{
}
但它确实会损害可读性。
答案 1 :(得分:0)
没有
C ++ 11标准§9.3 [class.mfct] p5
:
如果成员函数的定义在词法定义之外是词法定义,则成员函数名称应使用
::
运算符通过其类名进行限定。
答案 2 :(得分:0)
不,避免它们的唯一方法是直接在头文件中使用内联声明,如
class MyClass
{
void my_method() { implementation };
...
}