是否有可能只包括一个内部类代码?(Is it possible to include code on

2019-10-28 20:02发布

我希望我可以解释一下。

Supose我旁边:

文件“啊”:

#include "C.h"

public class A{
    // Some code...
}

文件“波黑”:

#include "A.h"

public class B{
    A a = new A();      //With this line I mean I'm using one instance of "A" inside "B.h"
    //Some code...
}

是否有可能包括“CH” ONLY里面“啊”?

我的问题是我已经包含的代码是给了我很多与常用功能的冲突。 这不是纠正一个矛盾一个选项,因为有巨大的一套他们。 此外,包括我的“CH”的代码是只是一个测试代码:一些测试后,我会删除包括线。

是否有“冒泡”的任何方式我包括什么呢?

先感谢您。

编辑:阿和BH在同一个命名空间。

Answer 1:

是否有可能包括“CH” ONLY里面“啊”?

不,不是我的知识。


如果你有名称冲突,只是有一章其他命名空间内,如@ user202729建议。 这可以帮助。


但我猜你用C在用于测试和在一个没有这不是C ++ CLI或从内容了Bh兼容的实现,你不能用在C

我们使用平普尔ideom(指针实现)。 例如:C ++ / CLR目前不允许不直接计入,这就是为什么有时候库要使用(如章),你不能使用,因为它们依赖于支持。

这是我的CH(用于所有其他标题)

            struct LockImpl; // forward declaration of C.

            class C
            {
            public:
                C();
                virtual ~C();

            public:
                void Lock() const;
                void Unlock() const;
                LockImpl* _Lock;
            };

这是我的C.cpp(编译/ CLR)

            #include <mutex>

            struct LockImpl
            {
                std::mutex mutex;
            };

            C::C() : _Lock(new LockImpl()) {}
            C::~C() { delete _Lock; }

            void C::Lock() const
            {
                _Lock->mutex.lock();
            }

            void C::Unlock() const
            {
                _Lock->mutex.unlock();
            }

#include "C.h"

public class A{
   C c;
   void someMethod()
   {
      c.Lock() // I used another template for a RAII pattern class.
      c.Unlock() 
   }
}


文章来源: Is it possible to include code only inside one class?