1 class K {
2 public:
f(int i)3   int f(int i) { return i; }
4 };
5 
6 class Q {
7 public:
Q()8   Q() { kp = new K; }
9   int g();
10 private:
11   K * kp;
12 };
13 
g()14 int Q::g() {
15   return (kp->f)(42);
16 };
17 
18 
main()19 int main () {
20   Q q;
21   if (q.g() != 42)
22     return 1;
23 }
24