c++ - How do I call "operator->()" directly? -


For some strange reason, I need to call operator-> () method directly. For example:

  class A {public: void foo () {printf ("Foo"); }}; Class ARF {Public: A * operator-> () {Return; Protected: A * A; };  

If I have an arm object, I can call Fu () by writing:

  aref-> foo ();  

However, I want to get an indicator for protected member 'A' How can I do this?

  aref.operator-> (); // Returns A *  

Note that this syntax also works for all other operators:

  // One overloaded operators A * aref1 = / / ... A * aref2 = // ... aref1.operator * (); Aref1.operator == (aref2); // ...  

For cleaner syntax, you can apply a received () function or * to the operator Can overload the and & amp; * Aref as recommended for .


Comments

Popular posts from this blog

Eclipse CDT variable colors in editor -

AJAX doesn't send POST query -

wpf - Custom Message Box Advice -