C++ / C# Wrapper Klasse
-
Hallo zusammen!
Ich schreibe gerade an einem Wrapper um C++ (unmanaged) Code in C# (managed) Code verwenden zu können. Ich stehe aber nun vor folgendem Problem:
Ich habe eine unmanaged C++ Klasse A (vereinfacht) welche im Konstruktor eine Referenz auf Klasse B enthältclass A { public: A(const B& pB); }
Mein Wrapper sieht bisher folgendermaßen aus für diese Klasse (vereinfacht):
public ref class WA { public: WA() : m_pA(new A()); private: A* m_pA; }
Wie bekomm ich denn nun die Referenz auf die Klasse B hin?? Meine bisherigen Versuche sind irgendwie alle kläglich gescheitert
Ich hoffe es kann mir bei diesem kleinen Problem jemand weiterhelfen... besten Dank!
-
oops /ignore
-
class B; class A { public: explicit A(const B& b) : b_(b) { } void f() { } private: A(const A&); A& operator=(const A&); const B& b_; }; class B { }; ref class WrapperA { public: explicit WrapperA(const B& b) : a_(new A(b)) { } ~WrapperA() { delete a_; } void f() { a_->f(); } private: A* a_; }; int main() { B b; WrapperA^ wa = gcnew WrapperA(b); wa->f(); }