• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > 关于多重继承的问题(菱形继承,atl中如何把接口的相同的实现提取到基类中。。)

关于多重继承的问题(菱形继承,atl中如何把接口的相同的实现提取到基类中。。)

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了 关于多重继承的问题(菱形继承,atl中如何把接口的相同的实现提取到基类中。。)等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 关于多重继承的问题(菱形继承,atl中如何把接口的相同的实现提取到基类中。。)
描述:

用atl写com时,多个类继承一个接口,这个接口中的有些方法有相同的实现
所以我决定把这些相同的实现提到一个基类中,
       IA
     /   \
   CB1    CB2
     \    /
       CC
比如IA中有3个方法,a1,a2,a3;
CB1实现了方法a1,CB2实现了方法a2,CC实现了方法a3
但是这样出现一个问题,说不能实例化CC,警告提示CB2没有实现IA的a1方法
在这里CB2也是抽象基类,根本不用实例化。。。但是我最终保证CC实现了IA中的3个方法(a1时在CB1中实现的,a2是在CB2中实现的,a3是在CC中实现的)
请问这个问题如何解决???


解决方案1:

class IA
{
public:
virtual void a1()=0;
virtual void a2()=0;
virtual void a3()=0;
};
class CB1:public virtual IA
{
public:
void a1(){printf("a1");}
};
class CB2:public virtual IA
{
public:
void a2(){printf("a2");}
};
class CC:public CB1,public CB2
{
public:
void a3(){printf("a3");}
};

解决方案2:

你派生的时候指定的确定是虚基类么?


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 关于多重继承的问题(菱形继承,atl中如何把接口的相同的实现提取到基类中。。)

相关文章

  • 2017-06-04 一个我不能解决的com问题?
  • 2017-06-05 非常奇怪的WriteProcessMemory问题,请高手帮忙解决,400分
  • 2017-06-05 activex控件怎么实现键盘消息,用了钩子函数,但是回调函数不执行,求助
  • 2017-06-05 请教网站视频直播问题
  • 2017-06-04 求购--ATL开发指南第二版
  • 2017-06-04 一种新的编程模式??讨论讨论
  • 2017-06-04 我想做个webservice但是没有界面电脑启动就运行,请给一点思路!
  • 2017-06-05 EESWTdll找不到怎么办?
  • 2017-06-05 新人求解VS2008如何调用控件的方法。
  • 2017-06-04 请VC高手解决ActiveX的怪问题,关于放在windowopen页面中的ActiveX丢失事件,有源码

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • FinalRelease函数
    • MFC新人求指教
    • 求教:发布引用了ActiveX控件的应用程序需要哪些运行时的支持库?
    • 如何知道某个程序是否正在运行??
    • activex改变大小崩溃问题
    • anyonecanhelpme?AboutATL、ClipboardandRichtx32ocx
    • 线程池的问题,debug版本出错,release无问题
    • 关于程序的暂停与继续
    • 初学ATLSERVER,有几个不明白的地方,想请教大侠们指教一二,谢谢
    • 我写的ActiveX控件想它返回一个二进制数组,行不行?

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有