假设我有以下定义:
namespace test
{
class Test1
{
void someMethod(double a);
void someOtherMethod(double a);
//...
};
class Test2
{
void someMethod(double a);
void someOtherMethod(double a);
//...
};
}
这是一个示例实现(方法1):
namespace test
{
// Test1
// ----------------
void Test1::someMethod(double a){
// do something
}
void Test1::someOtherMethod(double a){
// do something else
}
// Test2
// ----------------
void Test2::someMethod(double a){
// do something
}
void Test2::someOtherMethod(double a){
// do something else
}
}
这是另一种实现(方法2):
// Test1
namespace test
{
void Test1::someMethod(double a){
// do something
}
void Test1::someOtherMethod(double a){
// do something else
}
}
// Test2
namespace test
{
void Test2::someMethod(double a){
// do something
}
void Test2::someOtherMethod(double a){
// do something else
}
}
实现事物的常用方法是通过方法 1。方法 2 的结果是每个类的所有实现代码都可以在许多编辑器中折叠起来,这是我非常喜欢的一个功能。
我想知道是否有任何更优雅的方法可以做到这一点,例如,不必为每个新类重新打开命名空间?我试过这个:
{
void Test1::someMethod(double a){}
}
{
void Test2::someMethod(double a){}
}
但这不起作用(出于对我来说并不完全显而易见的原因,我不得不承认......)。除了使代码可折叠之外,是否有一些有效的、类似的、没有任何影响的东西?
显然,它应该尽可能地便携,并且不依赖于任何特定的编辑器。