namespace t {\n class A {};\n}\nRun Code Online (Sandbox Code Playgroud)\n\n如何创建类的对象A?
编辑 :
\n\nnamespace beta {\n class TESSDLL_API TessBaseAPI \n { \n public: \n TessBaseAPI(); \n virtual ~TessBaseAPI(); \n }\n}\nRun Code Online (Sandbox Code Playgroud)\n\n这是在 \xc2\xa0 命名空间内定义的类beta。现在我如何调用构造函数?是
tess = new beta::TessBaseAPI(); \nRun Code Online (Sandbox Code Playgroud)\n\n正确的?
\n正如您通常所做的那样。唯一的区别是A在命名空间内部t。所以你可以 :
每次要使用时都使用范围解析运算符A:
t::A a;
Run Code Online (Sandbox Code Playgroud)
使用using directive
using namespace t;
A a;
Run Code Online (Sandbox Code Playgroud)
或者,正如 Luc Danton 指出的那样,使用using declaration
using t::A;
A a;
Run Code Online (Sandbox Code Playgroud)
根据您的编辑:
假设您的类声明以 a 结尾,;如下所示
namespace beta {
class TESSDLL_API TessBaseAPI
{
public:
TessBaseAPI();
virtual ~TessBaseAPI();
};
}
Run Code Online (Sandbox Code Playgroud)
那么调用构造函数的正确方法是:
beta::TessBaseAPI * tess = beta::TessBaseAPI();
Run Code Online (Sandbox Code Playgroud)
或者
beta::TessBaseAPI tess;
Run Code Online (Sandbox Code Playgroud)