请问高手,c++/vc怎么写接口(interface)!!!!!!!!!!!!

gisgang 2008-05-11 11:26:32
最近几天没事,对接口有点兴趣,但是又不知道怎么下手,interface这个东西不怎么懂,CLASS这个知道,在网上找了一些文章看了,但是网上的朋友把接口就是用CLASS写的,我想接口与CLASS还是有不同的.请高手指点一下.

注意:最好是给一个代码,演示一下.让我也深入的去体会一下.
...全文
731 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
好像是说明属性的,例如参数前有[in]就是输入,[out]就是输出,还有retval,等
新建一个ATL项目里面的idl就是接口~呵呵~学习ATL中~~~
jameshooo 2008-05-12
  • 打赏
  • 举报
回复
如果要做符合COM规范的接口,就必须使用IDL,要使用IDL,就必须使用interface关键字
gisgang 2008-05-12
  • 打赏
  • 举报
回复
那怎么写接口不用关键字 interface啊?????????
hanjinchidm 2008-05-12
  • 打赏
  • 举报
回复
受教了。
yawer 2008-05-12
  • 打赏
  • 举报
回复
接口是一组函数定义的规范,你从c#的接口定义中可以明显看出这点。com的接口也是一个规范,class是接口的实现。你可以简单的这么认为。
aryer 2008-05-12
  • 打赏
  • 举报
回复
接口中的方括号[]是什么意思啊?难道是IDL里面的?
飞天舞 2008-05-12
  • 打赏
  • 举报
回复
<ATL开发指南>,网上有电子书和源码!
编程夜猫 2008-05-12
  • 打赏
  • 举报
回复
学习!
  • 打赏
  • 举报
回复
其实interface就是struct

typedef struct interface;
vocanicy 2008-05-11
  • 打赏
  • 举报
回复
COM的接口要用IDL来定义
jameshooo 2008-05-11
  • 打赏
  • 举报
回复
从C++语言的角度来看,interface就是一个纯虚类,所以它定义的是一组方法的规范,作为接口实现者,必须从这个纯虚类继承一个class并实现所有要求的接口方法。
例:
以下是接口定义(C++语法)
class Iface
{
public:
virtual HRESULT __stdcall method1(long) = 0;
virtual HRESULT __stdcall method2() = 0;
};

以下是接口实现
class CIface : public Iface
{
public:
virtual HRESULT __stdcall method1(long a)
{
// do something
return S_OK;
}
virtual HRESULT __stdcall method2()
{
// do something
return S_OK;
}
};

3,248

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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