一个COM基础的问题,请高手进来看看!

ytweiwei 2002-03-19 03:39:34
假如我有如下类:
class a
{
int a;
int b;
int c(void);
};
我想将类a放在COM组件中,然后在客户程序中用
class b : public a
{
...
..
};
的方法来继承,怎样能实现呢?请指教,小D我不胜感激 :)
...全文
89 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
micr0soft 2002-03-29
  • 打赏
  • 举报
回复
9494
javanew 2002-03-20
  • 打赏
  • 举报
回复
你对com不了解
programcat2001 2002-03-20
  • 打赏
  • 举报
回复
如果你只是想从a派生b,一个include就解决了;如果你非要一个客户程序的话,劝你用dll;如果你在学com的话,你可以找本书,看看com的基础知识,这个问题你自己就能解决了!祝你好运!
CFree 2002-03-19
  • 打赏
  • 举报
回复
不能这样继承组件的,因为类是代码级的,COM是2进制级的;
你可以直接在你的类中,使用dll的接口函数,并通过赋值的办法引出。
0_0OKll 2002-03-19
  • 打赏
  • 举报
回复
DLL,不过要想导出整个类也比较麻烦
不麻烦, 再类名前加class AFX_EXT_CLASS 就可以导出处.

最容易的办法是建立DLL,
让exe工程依赖DLL工程, 包含a的头文件就可以基础和使用了

0_0OKll 2002-03-19
  • 打赏
  • 举报
回复
COM组件是接口式实现,不暴露类,不能继承.
但可以用包容类来包容接口,需要组件设计成支持自动化才可以包容,类似ActiveX控件方式! 就是VC中add components那样!
最容易的办法是建立DLL,
让exe工程依赖DLL工程, 包含a的头文件就可以基础和使用了
LLnju 2002-03-19
  • 打赏
  • 举报
回复
没看到过这种接口,呵呵
hgw111 2002-03-19
  • 打赏
  • 举报
回复

利用com: 把类A做成一个ActiveX(有用户界面),或做成一个组件(没有用户界面),在客户程序中用时不是用继承的方法,而是像普通com组件那样用即可,不过用MFC做com组件很麻烦,ATL实际上简单的多
利用DLL: 将类A做成一个DLL,不过要想导出整个类也比较麻烦

如果你只是为了继承,干脆将类A的头文件在类B中include,然后继承不行吗?
乱七八糟 2002-03-19
  • 打赏
  • 举报
回复
com 只能露出接口,类是藏在里面的,你无法看到的
strip 2002-03-19
  • 打赏
  • 举报
回复
暴露出来的是接口,如果是com
所以你只能继承接口,不能继承class
ndy_w 2002-03-19
  • 打赏
  • 举报
回复
?com就是要隐藏a对象的实现啊?只暴露接口。
ytweiwei 2002-03-19
  • 打赏
  • 举报
回复
补充一句,用MFC的方法实现,ATL免谈,谢谢合作!
如果COM解决不了,用DLL(显示调用)的方法也可以。

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧