abstrakte Klassen und virtuelle Funktionen



  • hi,

    ich habe folgende klassen (auszug)...

    // klasse für einen punkt im 2D-Raum
    template <class T> class TRSPoint2D
    {
      public:
    
        T x, y;
    };
    
    // abstrakte basisklasse für geometrische formen
    template <class T> class TRSShape
    {
      public:
    
        virtual bool Contains(const T x, const T y) const = 0;
        virtual bool Contains(const TRSPoint2D<T> P) const = 0;
    };
    

    die klasse TRSShape dient als Basisklasse für weitere klassen zur darstellung von rechtecken, polygonen und so weiter. wieso kann ich die 2. funktion von TRSShape (mit TRSPoint2D) nicht so in der abstrakten klasse definieren? ich bekomme vom compiler (bcb3std) immer einen fehler das eine ")" fehle, was ja quatsch ist.

    ich hoffe jemand hat ne erklärung für mich. danke



  • Hallo,

    wie ist die genaue Fehlermeldung? Evtl. kennt er TRSPoint2D noch nicht?

    mfg
    v R



  • problem gelöst... ja er kannte die klasse TRSPoint2D noch nicht. ich hatte in meinem globalen header die einträge vertauscht.

    danke für deine hilfe


Anmelden zum Antworten