接口类可以直接声明为变量吗?
是不是只能通过他的实现类来声明?

解决方案 »

  1.   

    interface IExample1{};
    interface  IExample2{};
    class DerivedExaimp:public IExample1,public IExample2{};
    声明接口变量时,可以声明变量:IExample1 pIExample1;
                                   IExample2 pIExample2;                             DerivedExaimp pderExaimp;这样:当pIExample1 =pderExaimp;时我们只能使用IExample1接口的方法。
    同理:当pIExample2 =pderExaimp;时我们只能使用IExample2接口的方法。
      

  2.   

    改正:IExample1 *pIExample1;
          IExample2 *pIExample2;
           DerivedExaimp *pderExaimp;
      

  3.   

    本以为java才有接口类,今天才知道C++也有,学习。
    顺便建议:不要用多重继承。
      

  4.   

    多重继承好用得很呢============================================================================
    DocWizard C++ 程序文档生成工具 http://www.betajin.com/alphasun/index.htm
      

  5.   

    我认为,在接口的多继承中,之所以这样用,是有前提的:每个接口是纯虚类(不能实例化),不同的接口最好不要有相同的方法。这样的多继承不会有问题。例如ATL就是用多继承的方式处理COM的。