override function operator question

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • abcpp
    New Member
    • Nov 2006
    • 4

    override function operator question

    Please help:

    class B {
    public:
    void operator()(){ cout<<"in B()"<<endl;}
    };

    class D : public B {
    public:
    void operator()() {
    B:: (); // compiler would error: expected unqualified-id before ‘(’ token
    cout<<"in D()"<<endl;
    }
    };

    How do I invoke base class function operator from derived class function operator? Thanks
  • Banfa
    Recognized Expert Expert
    • Feb 2006
    • 9067

    #2
    Replace

    Code:
     B:: (); // compiler would error: expected unqualified-id before ‘(’ token
    with

    Code:
     B::operator()();

    Comment

    • sivadhas2006
      New Member
      • Nov 2006
      • 142

      #3
      Originally posted by abcpp
      Please help:

      class B {
      public:
      void operator()(){ cout<<"in B()"<<endl;}
      };

      class D : public B {
      public:
      void operator()() {
      B:: (); // compiler would error: expected unqualified-id before ‘(’ token
      cout<<"in D()"<<endl;
      }
      };

      How do I invoke base class function operator from derived class function operator? Thanks
      Hi,

      I used different operator to make it work.

      Code:
      class B 
      {
         public:
      
            void operator+ ()
            { 
               cout<<"in B()"<<endl;
            }
      };
      
      class D : public B 
      {
         public:
      
            void operator +() 
            { 
               B::operator +(); 
               cout<<"in D()"<<endl;
            }
      };
      Regards,
      M.Sivadhas.

      Comment

      • sivadhas2006
        New Member
        • Nov 2006
        • 142

        #4
        Originally posted by Banfa
        Replace

        Code:
         B:: (); // compiler would error: expected unqualified-id before ‘(’ token
        with

        Code:
         B::operator()();
        Hi,

        I tried
        Code:
         B::operator()();
        That also working.

        Regards,
        M.Sivadhas.

        Comment

        • abcpp
          New Member
          • Nov 2006
          • 4

          #5
          Originally posted by Banfa
          Replace

          Code:
           B:: (); // compiler would error: expected unqualified-id before ‘(’ token
          with

          Code:
           B::operator()();

          Thank you so much!!!

          Comment

          Working...