避免与具有相同名称的两个类发生命名空间冲突

Avoiding Namespace Collisions with two classes that have the same name

本文关键字:两个 冲突 命名空间      更新时间:2023-10-16

我有一个包含类的第三方dll。我希望在我的dll中有一个具有完全相同名称的类。如何避免命名空间冲突?

我想做的事情是这样的:我的程序调用->我的Dll调用->第三方Dll

我的dll和第三方dll都有一个同名的类。

  1. 列出项目

我可能会这样做:

namespace thirdPartyDLL {
    class A {
    public:
       A() {}
       void someFunc() {
       }
    };
} 
namespace yourDLL {
    class A {
        thirdPartyDLL::A a;
    public:
        A() {}
        void someFunc() {a.someFunc();}
    };
}

也许这是一个丑陋的解决方案,但通过这种方式,两个类可以有相同的名称。