Templateklasse als Parameter



  • Hallo,
    ich habe eine "normale" Klasse A und eine Templateklasse B mit Templateparameter int T. Jetzt möchte ich die Objekte dieser Klassen mit einem überladenen Vergleichsoperator der Klasse A vergleichen. Geht das?
    Ich habe folgendes versucht:

    bool A::operator==(const B<5>& r){
    bool ret;
    //vergeichen
    return ret;
    }
    

    aber der Kompiler mag es nicht.
    Weiß jemand Rat?
    Danke
    NN



  • Probiers mal mit einer Template Funktion.



  • NN schrieb:

    bool A::operator==(const B<5>& r){
    bool ret;
    //vergeichen
    return ret;
    }
    

    sollte eigentlich gehn - aber eben nur fuer B<5>-Objekte, also

    A a;
    B<5> b5;
    B<243> b243;
    
    if(a==b5) /*...*/  // geht
    if(b==b243) /*...*/ //geht nicht
    

    Wenn du es fuer alle B's haben moechtest dann so:

    template <int I>
    bool A::operator==(B<I> const& b) {
     /*...*/
    }
    

Anmelden zum Antworten