aplicação recursiva do operador->
Diz-se que o operador da flecha é aplicado recursivamente. Mas quando tento executar o código a seguir, ele imprime sem sentido quando é suposto imprimir 4.
<code>class dummy { public: int *p; int operator->() { return 4; } }; class screen { public: dummy *p; screen(dummy *pp): p(pp){} dummy* operator->() { return p; } }; int main() { dummy *d = new dummy; screen s(d); cout<<s->p; delete d; } </code>