1

在实现之前在 h 文件中约定的 cpp 文件中的方法时,有什么方法可以简化类的显式声明?

就像是...

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

3 回答 3

1

没有,但是一个好的 IDE 会提供一些重构工具来简化输入。对于 Visual Studio,VisualAssist是一个很好的插件(不以任何方式附属)。

您可以选择创建自己的宏,例如:

// This is very ungly, probably best avoided
#define lessTyping(method) MyClass::##method()

lessTyping(my_method)
{
}

但这确实会损害可读性。

于 2012-02-28T00:59:25.320 回答
0

不。

C++11 标准§9.3 [class.mfct] p5

如果成员函数的定义在词法上超出其类定义,则成员函数名应使用运算符由其类名限定::

于 2012-02-28T00:55:00.213 回答
0

不,避免它们的唯一方法是直接在头文件中使用内联声明,如

class MyClass
{
  void my_method() { implementation };
  ...
}
于 2012-02-28T00:56:01.513 回答