ITPub博客

首页 > Linux操作系统 > Linux操作系统 > MFC的多继承问题

MFC的多继承问题

原创 Linux操作系统 作者:davidyu720 时间:2019-03-29 17:18:06 0 删除 编辑

这几天用几个基础类改写一个C++程序,为了偷懒,使用了继承。

本来有这个类 CChildThread : public CWinThread
现在加了个基类CChildThread : public CLIHelper, public CWinThread。当时加的时候,犹豫了一下,还是顺手加在CWinThread前面了

编译正常;运行时却出现很奇怪的错误,发现本来应该是CChildThread 类的一个指针,在调试器中显示为CWinThread类实例,而且到处是类似的错误!

感觉跟刚加的基类有关,于是将CWinThread提到CLIHelper前面,问题不再出现了。

回忆起来若干年前就遇到并解决过这个问题。查了一下,果不其然:

...一些宏:DECLARE_DYNAMICIMPLEMENT_DYNAMICDECLARE_DYNCREATEIMPLEMENT_DYNCREATEDECLARE_SERIALIMPLEMENT_SERIAL,这些宏在单继承的时候工作得不错,可是对于多继承,出现在IMPLEMENT_DYNAMICIMPLEMENT_SERIAL中的必须是在继承关系最左边的基类。


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9844649/viewspace-580069/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2007-08-18

  • 博文量
    235
  • 访问量
    193024