c++call back
#include "stdafx.h"
struct A; typedef void(A::*MemFuncPtr) (int* e); class A
{
int a;
}; class View : public A
{
public:
virtual void test() { printf("test A\n"); }
}; class Window : public View
{
public:
virtual void test() { printf("test A\n"); }
void func(int * b) { (void)b; printf("************\n"); }
}; typedef void(*HandlerNoParam)();
typedef void(*Handler1Param)(void* receiver);
typedef void(*Handler2Param)(void* receiver, int* e); void test1()
{
printf("no parameter test:\n");
} void test2(void* receiver)
{
(void)receiver;
printf("1 parameter test:\n");
} void test3(void* receiver, int* e)
{
(void)receiver;
(void)e;
printf("2 parameter test:\n");
} int _tmain(int argc, _TCHAR* argv[])
{
Handler2Param p0 = (Handler2Param)test2;
p0(NULL, ); MemFuncPtr p = (MemFuncPtr)&Window::func;
Window a;
(a.*p)(NULL);
getchar();
return ;
}
随机推荐
- 1008 Elevator (20)(20 point(s))
problem The highest building in our city has only one elevator. A request list is made up with N pos ...
- Javascript中call方法和apply方法用法和区别
第一次在博客园上面写博客,知识因为看书的时候发现了一些有意思的知识,顺便查了一下资料,就发到博客上来了,希望对大家有点帮助. 连续几天阅读<javascript高级程序设计>这本书了,逐渐 ...
- android viewStub
韩梦飞沙 韩亚飞 313134555@qq.com yue31313 han_meng_fei_sha 开发应用的时候,需要根据条件决定显示某个视图, 这个时候可以用ViewStub Stub ...
- collection 和 collections
韩梦飞沙 韩亚飞 313134555@qq.com yue31313 han_meng_fei_sha collection 是集合的意思. 集合 是 集合类的上级接口, 比如 set 和 l ...
- [BZOJ4557][JLOI2016]侦察守卫(树形DP)
首先可以确定是树形DP,但这里存在跨子树的信息传递问题,这里就需要“借”的思想. f[i][j]表示i子树内所有点都被覆盖到,且i以外j层内的点都能被覆盖到 的方案数. g[i][j]表示i子树内离i ...
- hdu 4535 错排
题意:错排 链接:点我 百年难得一遇大水题 #include<cstdio> #include<iostream> #include<algorithm> #inc ...
- hihocoder #1301 : 筑地市场 二分+数位dp
#1301 : 筑地市场 题目连接: http://hihocoder.com/problemset/problem/1301 Description 筑地市场是位于日本东京都中央区筑地的公营批发市场 ...
- 如何设置VMware中Linux命令行环境全屏
在VMware安装Linux后默认屏幕为640×480,如需修改,则请参考以下步骤.以下以CentOS 6.6安装于VMware Workstation 9中为例说明. 1.默认640x480x16, ...
- both, either, neither的用法
http://www.yywords.com/Article/200806/347.html 1. 这三个词都用来谈论两者:both 意为“(两者)都”,either意为“(两者中)任意一个”,ne ...
- Red Hat Enterprise Linux 7.4配置VSFTP服务器
vsftpd(very secure ftp daemon,非常安全的FTP守护进程)是一款运行在Linux操作系统上的FTP服务程序,不仅完全开源而且免费,此外,还具有很高的安全性.传输速度,以及支 ...