0

我有一个头文件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;
    }
4

3 回答 3

4

不完全是,但你可以创建helper一个命名空间而不是一个类:

namespace helper
{
    static int someVal();   
}

using namespace helper;
int answer = someVal();

您可以像在问题中那样定义函数。实际上,最好不要将using namespace其用于您自己的函数,因为这样更容易理解调用了哪个函数。

于 2012-12-02T17:26:55.817 回答
2

如果您只有一个带有static函数的类,则可以使用namespace带有函数的类。您可以稍后使用using namespace来访问没有命名空间名称的函数。

于 2012-12-02T17:27:19.343 回答
0

你为什么要这样做?阅读代码的人(甚至在不久的将来你自己)很高兴不要将函数误解为全局。当您对类和成员函数进行良好命名时,您会错过没有类名的重要信息。Factory::get_instance()比 . 携带更多信息get_instance()

于 2012-12-02T17:48:38.020 回答