Interface -- access
class A {\fbox{A}
public: A() { delegate = new F; } F* operator->() { return delegate; } void extra() { cout << "extra"; } private: F* delegate; };
class A {\fbox{A}
public: A() { delegate = new F; } F* operator->() { return delegate; } void extra() { cout << "extra"; } private: F* delegate; };