我有一个标题文件helper.h
class helper
{
public:
static int someVal();
};
int helper::someVal()
{
return 999;
}
在我的c课程中,我按如下方式调用someVal
方法
#include "helper.h"
.
.
int answer = helper::someVal();
有没有办法像这样打电话呢?
int answer = someVal();
下面的解决方案是 helper.h -
static int someVal();
int someVal()
{
return 999;
}
答案 0 :(得分:4)
不完全是,但您可以使helper
成为命名空间而不是类:
namespace helper
{
static int someVal();
}
using namespace helper;
int answer = someVal();
您可以像在问题中一样定义函数。在实践中,通常最好不要将using namespace
用于自己的函数,因为这样可以更容易地理解调用哪个函数。
答案 1 :(得分:2)
如果您只有一个具有static
函数的类,则可以使用带有函数的namespace
。您可以稍后使用using namespace
来访问没有命名空间名称的函数。
答案 2 :(得分:0)
你为什么要这样做?有人阅读代码(即使你自己在不久的将来)非常乐意不把这个功能误解为全局。当你在类和成员函数上做好命名时,你会错过没有类名的重要信息。 Factory::get_instance()
提供的信息多于get_instance()
。