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