#include "stdafx.h" #include <iostream> using namespace std; template<typename T> class A { private: typedef int (T::*delegateFun)(int); // 将T类中的函数设置未typedef typedef int (T::*unknowFun)(int,int); T *_This; // T类对象 delegateFun _deleGate; // T类对象的函数 unknowFun _unknowFun; public: // This被代理的对象,delegateFun被代理的方法 // A(T *This, int (T::*delegateFun)(int)) // { // _This = This; // _deleGate = delegateFun; // } A(T *This, delegateFun pFun) { _This = This; _deleGate = pFun; } A(T *This, unknowFun pFun) { _This = This; _unknowFun = pFun; } // 被代理的函数 int execue(int c) { return (_This->*_deleGate)(c); } int execue2(int i,int j){ return (_This->*_unknowFun)(i,j); } }; class B { public: int FunA(int a) {