我对私有方法和函数有疑问。假设我有一些不需要在类中的实用方法。但是这些相同的方法需要调用我不想向用户公开的其他方法。例如:
嫌疑人.h
namespace Suspect {
/**
* \brief This should do this and that and more funny things.
*/
void VerbalKint(void); // This is for you to use
}
嫌疑人.cpp
namespace Suspect {
namespace Surprise {
/**
* \brief The user doesn't need to be aware of this, as long
* the public available VerbalKint does what it should do.
*/
void KeyserSoze(void) {
// Whatever
}
} // end Surprise
void VerbalKint(void) {
Surprise::KeyserSoze();
}
}
所以,这个布局有效。包含 时Suspect.h
,只有VerbalKint
可见。这也可以使用类和标记VerbalKint
为静态来实现:
class Suspect {
public:
// Whatever
static void VerbalKint(void);
private:
static void KeyserSoze(void);
};
我想知道这两种方法之间是否有任何区别。一个比另一个更好(更快、更容易维护)吗?
你觉得呢?你有没有什么想法?