首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用友好方法名的C静态方法调用

使用友好方法名的C静态方法调用
EN

Stack Overflow用户
提问于 2012-12-03 01:23:14
回答 3查看 91关注 0票数 0

我有一个头文件helper.h

代码语言:javascript
复制
class helper
{

public:
    static int someVal();   
};

int helper::someVal()
{
   return 999;
}

在我的c类中,我按如下方式调用someVal方法

代码语言:javascript
复制
#include "helper.h"
.
.
int answer = helper::someVal();

有没有办法打这样的电话呢?

代码语言:javascript
复制
int answer = someVal();

下面的解决方案是helper.h --

代码语言:javascript
复制
static int someVal();   

 int someVal()
    {
        return 999;
    }
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-12-03 01:26:56

不完全是,但您可以使helper成为一个名称空间而不是一个类:

代码语言:javascript
复制
namespace helper
{
    static int someVal();   
}

using namespace helper;
int answer = someVal();

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

票数 4
EN

Stack Overflow用户

发布于 2012-12-03 01:27:19

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

票数 2
EN

Stack Overflow用户

发布于 2012-12-03 01:48:38

你为什么要这么做呢?阅读代码的人(甚至是不久的将来的你自己)很有可能不会将函数误解为全局函数。当你对类和成员函数进行良好的命名时,如果没有类名,你将会错过重要的信息。与get_instance()相比,Factory::get_instance()承载的信息更多。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13671726

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档