反正有没有避免cpp文件中所有方法的重复类实例化?

时间:2012-02-28 00:53:00

标签: c++ class declaration explicit

在先前在h文件中签约的cpp文件中实现方法时,有没有什么方法可以简化类的显式语句?

像...一样的东西。

MyClass:: {
void my_method() { implementation };
void my_other() { implementation };
}

3 个答案:

答案 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 };
  ...
}