在一个类A内,定义一个指向类B的成员函数指针,但这个类B的定义可能无法获取。
那么在这种情况下,能否使用这种指针方式来执行类B的成员函数?
那么在这种情况下,能否使用这种指针方式来执行类B的成员函数?
解决方案 »
- 如何在vc6中对excel的单元格进行角度旋转
- 单文档窗体下CView里用CMemDC类来作显示缓冲,如CMemDC弄成CView成员?
- MSComm通信控件开发程序移植到Windows2000的乱码问题
- 求助 关于CPropertySheet 向导的问题 急
- ATL中怎样才能导出一个类啊?就象引入msado15.dll后,可以直接使用_ConnectionPtr一样。
- ~~~~~~~~~~兄弟姐妹们,别人刚给我给我介绍个女朋友,准备周末出去第一次见面,这大冷天的出去喝点什么好啊,大家教教我吧~~~~~~~~~~~
- 有请懂GPS的大侠帮忙!谢谢
- 进来帮忙的就有分,是关于SOCKET的。
- 把函数的实现写在.h文件中与写在.cpp文件中有什么区别?
- 无盘站能做WIN2000SERVER的终端吗?
- GetDeviceCaps函数的问题
- 头痛- -问个DirectX开发的入门问题:怎么加载多个mesh??
类B没定义(无法获取)怎么执行函数呢
有一个DShow Filter,在这个Filter内有个类A,在检测到某种状况后需要通知上级调用程序(一个对话框程序,对话框类即类B)来处理,对话框程序有个成员函数负责处理这个状况。因此想通过函数指针来调用B的成员函数。 但是在Filter内很难使用MFC类,因此出现这个情况。 谢谢各位回复。
做成DLL 然后再处理??
class B;
向编译器表明B是个类名。
例如:class B;
class A
{
B* m_pB;
void (B::*m_pBFunc)(); A() { m_pB = NULL; m_pBFunc = NULL; }
void SomeFunc() { if(m_pB != NULL && m_pBFunc != NULL) (m_pB->*m_pBFunc)(); }
};
不太明白你的意思?
我的对话框程序是可执行程序,调用DShowFilter 编译成的dll,但是希望在dll内调用对话框程序的成员函数,这能否做到? 我刚才想到,如果把对话框的成员函数修改成全局函数,似乎是可以的,但是这样的话也不方便,因为在这个函数内要访问大量的对话框的数据成员。 我想确认一下,这个全局函数指针可以吗? 多谢回复。