2012-04-01 27 views
0

Ich versuche, eine Teilmenge von Java in C++ zu übersetzen. Wie kann ich Importe (Single und On-Demand) in C++ simulieren?Java-Importe in C++ simulieren

+0

Bevor Sie sich selbst übertreffen: Wie viele * andere * Teile dieses Projekts haben Sie herausgefunden? –

+4

C++ Ist hauptsächlich eine statisch verknüpfte Sprache, obwohl Sie Funktionen dynamisch durch .so verbinden und importieren können. Um jedoch eine echte Antwort auf Ihre Frage zu erhalten, müssen Sie uns wahrscheinlich ein wenig Code für die gewünschte Funktion liefern implementieren. – Soren

+0

@Soren Nice comment insgesamt , aber ich würde ändern "durch .so ist" zu "durch .so ist on * nix oder .dll ist unter Windows"

Antwort

0

Java ermöglicht Klassen einander in ihren Definitionen zu verwenden, C++ nicht:

class A{ 
B m(){return new B();} 
} 
class B{ 
A b(){return new A();} 
} 

Also ich denke, es ist nicht möglich, die gleiche Importstruktur beizubehalten.

Einfachster Weg - greifen Sie einige Java-C++ - Konverter und schauen Sie sich den Code, der generiert wird, könnte nützlich sein.

-3

C++ unterstützt nur #include s für ganze Bibliotheken. Sie können nicht #include Teile davon.

Wenn die Bibliothek jedoch Namespaces enthält, können Sie using für die Klassen (oder Namespaces) hinzufügen, die Sie direkt verwenden möchten, ohne jedes Mal die Namespaceauflösung hinzuzufügen.

+0

Sie können alles, was Sie wollen, einschließen. Sogar die selbe Datei zweimal. – mabn

+0

@mabn: Zumindest bin ich mir sicher, dass es nicht möglich ist, dieselbe Datei zweimal einzubinden (außer mit Precompiler-Headern). –

+0

überprüfen Sie dies dann: http://pastebin.com/xCmUdaBt – mabn