重载了->操作符,举个例子吧
#include <iostream>
using namespace std;
struct foo
{
void bar() const
{
cout << "foo::bar" << endl;
}
};
struct baz
{
void qux()
{
cout << "baz::qux" << endl;
}
baz( const foo* pfoo ) : pfoo_(pfoo)
{
}
const foo* operator->() const
{
return pfoo_;
}
private:
const foo* pfoo_;
};
int main()
{
foo a;
baz b(&a);
b.qux();
b->bar(); // 看到这一句了吧
return 0;
}