您的位置:首页 > 其它

成员函数指针使用

2016-04-22 10:49 281 查看
通用一般函数指针 。。。

typedef void (*Func)(...);

通用函数指针(不限参数个数)

通用获取成员函数返回值值函数(不限类型)

class Test
{
public:
void display(int a)
{
cout << a << endl;
}
int test(int a, int b)
{
cout << a + b << endl;
return a + b;
}
int tt()
{
return 100;
}
char* cc()
{
return "hello world.";
}
private:

};
typedef void ( Test::*common)(...);

template<typename T,typename V>
void getValue( common com, V v, T &t)
{
t = (v.*(T (V::*)(...))com)();
}
int main(void)
{

One *one = new Two;
Test test;
common cmp = (common)&Test::test;
(test.*cmp)(5,5);
cmp = (common)&Test::display;
cmp = (common)&Test::tt;
int d;
getValue(cmp, test,d);
cout << d << endl;
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: