基础语法学习 :)class CFoo {
public:
typedef void (CFoo::*CMD_FN)(void);
void Fire(void);
private:
void Fn1(void) {cout << "Fn1\n";}
void Fn2(void) {cout << "Fn2\n";}
};void CFoo::Fire()
{
CMD_FN fn;
fn = Fn1;
(this->*fn)();
fn = Fn2;
(this->*fn)();
}
public:
typedef void (CFoo::*CMD_FN)(void);
void Fire(void);
private:
void Fn1(void) {cout << "Fn1\n";}
void Fn2(void) {cout << "Fn2\n";}
};void CFoo::Fire()
{
CMD_FN fn;
fn = Fn1;
(this->*fn)();
fn = Fn2;
(this->*fn)();
}
解决方案 »
- CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)//没响应?
- 10053的问题
- 通过ADO访问数据库的问题,请高手看看!
- 怎样在vc中导出Excel表格????
- vc难题
- 150分的问题:这个贴50加上这个贴100:http://expert.csdn.net/Expert/topic/2470/2470761.xml?temp=.7569849
- 如何实现邮件发送的验证功能
- 注册系统钩子,总是内存页无效错误。已重启机器N*N次,100相送
- new 与 malloc 有什么区别
- 怪啊!闪烁闪烁还闪烁!!!
- 我是VC的拥护者,但是Visual Stadio.net中有VB7却没有VC7,请问VC6是不是没有下一个版本啦?
- 请问哪里有关于8583报文打包的源程序
void GlobalFire()
{
CFoo::CMD_FN fn;
CFoo foo;
fn = CFoo::Fn1;
(foo.*fn)();
}
另外在CFoo里加一行friend void GlobalFire(), 因为Fn1是private的.调用例子
int main(){ CFoo f1; f1.Fire(); GlobalFire(); return 0;}