我如何将我的班级转换为命名空间

时间:2018-08-22 12:39:58

标签: c++ class namespaces

我在C ++中有一个要转换为名称空间的类 我曾尝试在Google中环顾四周,但找不到任何使我的课程成为名称空间的解决方案。 我怎么做?它是一个包含3个函数的类。 例如:

class c
{
public:
    void A();
    void B();
    void X();
}

我希望能够使用这些功能而无需创建该类的新对象,我希望成为一个命名空间。 具有函数a(),b(),x()的类C将变为命名空间。 ps,我有CLion 2017 ty

3 个答案:

答案 0 :(得分:6)

比您想象的要容易得多。

namespace c
{
    void A();
    void B();
    void X();
}

答案 1 :(得分:2)

您可能想要这样的东西:

foo.cpp

#include "bar.h"

int main()
{
  bar::A();
  bar::B();
}

bar.h

namespace bar
{
  void A();
  void B();
}

bar.cpp

#include "bar.h"

namespace bar
{
  void A()
  {
    ...
  }

  void B()
  {
     ..
  }
}

这是一个简短的示例,没有标题保护套。

答案 2 :(得分:1)

您可能想使用静态函数

class MyClass
{
public:
    static void A();
}

然后您可以像这样调用这些函数:

MyClass::A();