operator= mal anders rum



  • Hallo

    Gibt es eine Möglichkeit, dass das Object cTest auf der rechten Seite einer Zuweisung stehen kann? So wie in der letzte Zeile von Main.

    [cpp]
    template <class T>
    class cTest
    {
    public: 
      void operator=(T Val) {Value = Val;}
    private:
      T Value;
    };
    
    enum eTest {xxx};
    
    int main()
    {
      cTest<eTest> Value;
      Value = xxx;
      eTest yyy = Value;
    }
    [/cpp]
    

    Gruss sam



  • Du musst dir einen Operator überladen, der dir cTest implizit nach eTest konvertieren kann.

    template <class T>
    class cTest
    {
    public:
      void operator=(T Val) {Value = Val;}
      operator T() const { return xxx; }
    private:
      T Value;
    };
    


  • Funkioniert, danke für deine Hilfe.


Anmelden zum Antworten