百思不得其解,纯虚函数怎么做回调函数? 在线急等。(只有30分了见谅)
百思不得其解,纯虚函数如何做回调函数? 在线急等。(只有30分了见谅)
有这样一个类
class __declspec(dllimport) DEMO
{
virtual int OnLoginrOk (int port) = 0;
};
显然 这是DLL 提供给外界的接口类 ,该函数由外界实现,但问题来了
我的DLL 该如何回调 这个函数呢 ????
------解决方案--------------------
C++的继承特性。
------解决方案--------------------
定义你自己的类,继承于DEMO类,然后在自己的类中实现OnLoginrOk 函数就行了
就像mfc中的OnPaint, OnInitialUpdate之类的函数一样
------解决方案--------------------
class __declspec(dllimport) DEMO
{
virtual int OnLoginrOk (int port) = 0;
};
这个接口不是你自己实现的吗?
你在你自己的dll中定义一个DEMO指针.
然后这个指针由外部赋值.
这样你就可以使用这个指针调用这个函数, 因为是虚函数, 即可调用派生类的函数了, 即实现了回调
有这样一个类
class __declspec(dllimport) DEMO
{
virtual int OnLoginrOk (int port) = 0;
};
显然 这是DLL 提供给外界的接口类 ,该函数由外界实现,但问题来了
我的DLL 该如何回调 这个函数呢 ????
------解决方案--------------------
C++的继承特性。
class A
{
public:
virtual int Test();
};
class B : public A
{
public:
virtual int Test()
{
return 0;
}
};
int main()
{
A *p = new B();
int ret = p->Test();
return 0;
}
------解决方案--------------------
定义你自己的类,继承于DEMO类,然后在自己的类中实现OnLoginrOk 函数就行了
就像mfc中的OnPaint, OnInitialUpdate之类的函数一样
------解决方案--------------------
class __declspec(dllimport) DEMO
{
virtual int OnLoginrOk (int port) = 0;
};
这个接口不是你自己实现的吗?
你在你自己的dll中定义一个DEMO指针.
然后这个指针由外部赋值.
这样你就可以使用这个指针调用这个函数, 因为是虚函数, 即可调用派生类的函数了, 即实现了回调