c使用友好方法名称调用静态方法

时间:2012-12-02 17:23:14

标签: c++ methods header

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

3 个答案:

答案 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()

相关问题