c++ - 如何在 C++ 中创建在命名空间内定义的类的对象

标签 c++

namespace t {
    class A {};
}

如何创建类 A 的对象?

编辑:

namespace beta {
  class TESSDLL_API TessBaseAPI 
  { 
     public: 
           TessBaseAPI(); 
           virtual ~TessBaseAPI(); 
  }
}

这是在 beta 命名空间中定义的类。现在我该如何调用构造函数?是

tess = new beta::TessBaseAPI(); 

对吗?

最佳答案

就像你通常做的那样。唯一的区别是 A 位于命名空间 t 内。所以你可以:

使用scope resolution operator每次你想使用 A 时:

t::A a;

使用using指令

using namespace t; 
A a;

或者,正如 Luc Danton 指出的那样,使用 using 声明

using t::A;
A a;

在您的编辑之后:

假设您的类声明以 ; 结尾,如

namespace beta {
  class TESSDLL_API TessBaseAPI 
  { 
     public: 
           TessBaseAPI(); 
           virtual ~TessBaseAPI(); 
  };
}

那么调用构造函数的正确方法是:

beta::TessBaseAPI * tess = beta::TessBaseAPI();

beta::TessBaseAPI tess;

关于c++ - 如何在 C++ 中创建在命名空间内定义的类的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7384160/

相关文章:

c++ - 用户禁用的启动位置中的 WinAPI 和程序

c++ - 为什么只能在头文件中实现模板?

c++ - 如何传递这种类型的自动功能?

c++ - pthread_create() 调用的函数的多个参数 - 参数是函数指针

c++ - 我们如何访问创建它的文件之外的未命名命名空间?

时间:2019-05-10 标签:c++uint,unsignedint,int

c++ - 比较二维数组结果的问题!

C++忽略输入第一个单词的简单方法

c++ - stdafx.h 到头文件

c++ - gettext 的替换