最近几天没事,对接口有点兴趣,但是又不知道怎么下手,interface这个东西不怎么懂,CLASS这个知道,在网上找了一些文章看了,但是网上的朋友把接口就是用CLASS写的,我想接口与CLASS还是有不同的.请高手指点一下.    注意:最好是给一个代码,演示一下.让我也深入的去体会一下.

解决方案 »

  1.   

    其实interface就是structtypedef struct interface;
      

  2.   

    从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.   

    <ATL开发指南>,网上有电子书和源码!
      

  4.   

    接口是一组函数定义的规范,你从c#的接口定义中可以明显看出这点。com的接口也是一个规范,class是接口的实现。你可以简单的这么认为。
      

  5.   

    那怎么写接口不用关键字 interface啊?????????
      

  6.   

    如果要做符合COM规范的接口,就必须使用IDL,要使用IDL,就必须使用interface关键字
      

  7.   

    接口中的方括号[]是什么意思啊?难道是IDL里面的?
      

  8.   

    好像是说明属性的,例如参数前有[in]就是输入,[out]就是输出,还有retval,等
    新建一个ATL项目里面的idl就是接口~呵呵~学习ATL中~~~