Template-Klassen



  • Genauso wie mit jedem anderen C++-Compiler auch?! 🙄 😮



  • also gar nicht? 😃

    [ Dieser Beitrag wurde am 22.04.2003 um 08:54 Uhr von dreaddy editiert. ]



  • Original erstellt von Eßer:
    Genauso wie mit jedem anderen C++-Compiler auch?! 🙄 😮

    der BCB ist kein compiler sondern eine IDE aber im grunde genommen hast du recht !



  • Also theoretisch sollte das mit dem Schlüsselwort export funktionieren..... nur leider scheint das jeder bekannte Compilerhersteller ziemlich zu ignorieren.

    Such mal im C++ Forum nach export.



  • Bitte? Templates werden doch mit dem Schlüsselwort "template" deklariert?

    -junix



  • Bei mir funktioniert das beschriebene Einwandfrei sofern ich das richtig verstanden habe !

    // File1.cpp
    #include "File1.h"
    //------------------
    huhu<class T>::huhu()
    {
    // do smth...
    }
    //---------------------
    huhu<class T>::~huhu()
    {
    //do smth
    }
    
    //FIle1.h
    template<class T>
    class huhu
    {
    private:
    public :
            huhu();
           ~huhu();
    };
    

    edit :

    auszug aus der Borland C++ Builder 6 enterprise Hilfe zu export :

    Beschreibung
    
    Das Schlüsselwort export ist für zukünftige Implementierungen reserviert und in dieser Version keine Wirkung.
    

    obwohl export hier wohl nix zur Sache tut 🙄

    [ Dieser Beitrag wurde am 22.04.2003 um 09:34 Uhr von 1ntrud0r editiert. ]



  • Wollen wir nicht mal warten, bis <neu_hier> erklärt, wo genau sein Problem liegt? Erst dann kann ja entschieden werden, ob es BCB-spezifisch ist oder nach "C++" gehört.



  • Das Problem tritt auf wenn man von einer dritten Datei auf das Template zugreifen will.

    // File1.cpp
    #include "File1.h"
    //------------------
    huhu<class T>::huhu()
    {
    // do smth...
    }
    //---------------------
    huhu<class T>::~huhu()
    {
    //do smth
    }
    
    //FIle1.h
    template<class T>
    class huhu
    {
    private:
    public :
            huhu();
           ~huhu();
    };
    
    //File3.cpp
    #include "File1.h"
    huhu<int> selberhuhu; // wieso geht das wohl net  :rolling_eyes:
    

    und das geht nur mit export oder wenn man alles in die .h Datei schreibt

    Natürlich ist export noch reserviert und ohne Funktion, weil die es nochnicht gebacken bekommen haben es so zu implementieren wie es im Standard steht 😛

    [ Dieser Beitrag wurde am 22.04.2003 um 14:04 Uhr von dreaddy editiert. ]



  • Deswegen sind ja Template-Klassen auch ausschliesslich im Header implementiert... (keine cpp-file)

    -junix



  • oh lol sorry

    unit compilieren geht
    aber ganz net o.O
    😮

    [ Dieser Beitrag wurde am 22.04.2003 um 14:13 Uhr von 1ntrud0r editiert. ]


Anmelden zum Antworten