• 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 > 初学问题100分,接口属性内部调用

初学问题100分,接口属性内部调用

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

佚名通过本文主要向大家介绍了文件格式模块接口问题,电脑usb接口有问题,usb接口有问题,hdmi dp接口问题,usb接口问题等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 初学问题100分,接口属性内部调用
描述:

我在同一个COM中,调用另外一个接口
比如有接口 IA,IB
IB实现类中的一个函数实现
xxx(IA *pA)   //能这样用吗
{
   //IA指针进来以后需不需要转成实现类的形式,如CA类
   pA->functionA();//这样编译不会出错,运行会出错吗
   pA->propertyA=10;//这样编译出错,说是propertyA不是IA的成员,其实是
                    //是不是一定要把属性也写成函数的形式才能调用
}


解决方案1:

xxx(IA *pA)   //能这样用吗--能不能这么用要看你下面想干什么
{
   //IA指针进来以后需不需要转成实现类的形式,如CA类--不该转,如果你知道传进来的是CA类,你还用接口指针做参数干什么
   pA->functionA();//这样编译不会出错,运行会出错吗--会不会出错要看接口怎么实现(implement)
   pA->propertyA=10;//这样编译出错,说是propertyA不是IA的成员,其实是
                    //是不是一定要把属性也写成函数的形式才能调用-----给接口加个property吧,会自动生成两个函数,一个get,一个set,在vc中必须显式调用这些函数,在vb或asp中就可以想field一样操作了
}

解决方案2:

在vc中属性必须向函数一样调用,
xxx(IA *pA)   //能这样用吗  -- 可以
{
   //IA指针进来以后需不需要转成实现类的形式,如CA类  --是的,因为你到用的是实现类的成员函数eg:
   CComObject<CA> *AObj = NULL;
   AObj = static_cast<CA*>pA;
   pA->functionA();//这样编译不会出错,运行会出错吗   ---肯定出错改成:AObj->functionA();
   pA->propertyA=10;//这样编译出错,说是propertyA不是IA的成员,其实是
                    //是不是一定要把属性也写成函数的形式才能调用  --出错
//改成pA->propertyA(10);
}


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

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

  • 关于IHtmlFramesCollection2接口的问题,请各位大哥帮忙!!
  • 入门人,关于接口变更后的问题
  • ActivexIunkonwn接口问题
  • 接口继承问题
  • 双接口问题?
  • 关于IDataObject接口的问题
  • ATLCOM增加接口的问题
  • Activex两个接口问题
  • 接口释放问题
  • 关于IWebBrowser2和MSActiveAccessibility接口问题

相关文章

  • 2017-06-05 ATL调用Word打开文本文件为何失败????
  • 2017-06-05 MFC的EnterCriticalSection、LeaveCriticalSection在C#里的替代物?
  • 2017-06-04 wtl_atl复合控件_listview_自画
  • 2017-06-04 DirectShow出鬼了!大家帮帮忙!
  • 2017-06-04 求助:VC调用Matlab编写的COM问题
  • 2017-06-05 如何枚举进程下的所有窗口?
  • 2017-06-05 COM组件如何避免结构体重复定义
  • 2017-06-05 关于VC写的OCX不能在html表单创建问题
  • 2017-06-04 小弟有问题要问!关于模式对话框的消息
  • 2017-06-04 COM是一种将类的抽象与实现分离开的技术,但是接口函数要访问类的数据成员,怎么实现分离呢?难道提供接口的人不需要实现函数只需要给个

文章分类

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

最近更新的内容

    • 这个问题有难度关于TLB文件和ADO
    • 关于控件签名的问题??
    • 在dll中向主程序的主框架窗口停靠一个CControlBar窗口的奇怪现象一问?
    • vc中数据类型转换
    • 关于DirectSound的问题
    • ActiveX的实例的属性值,保存在哪里?
    • DLL中如何与调用进程通信
    • 为什么我在DLL中使用COM总是出错啊?大家帮帮忙啊!!急!!弄了一下午了,还没弄好!
    • 请问各位,如何为vc写的dll加入输入点!
    • 请教如何打CAB包

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

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