#include <iostream.h>
#include <objbase.h>
void trace(const char*pMsg){cout<<pMsg<<endl;}interface IX
{
virtual void_stdcall Fx1() = 0;
virtual void_stdcall Fx2() = 0;
};
interface IY
{
virtual void_stdcall Fy1() = 0;
virtual void_stdcall Fy2() = 0;
};
class CA:public IX,public IY
{
virtual void_stdcall Fx1(){cout<<"CA::Fx1"<<endl;}
virtual void_stdcall Fx2(){cout<<"CA::Fx2"<<endl;}
virtual void_stdcall Fy1(){cout<<"CA::Fy1"<<endl;}
virtual void_stdcall Fy2(){cout<<"CA::Fy2"<<endl;}
};
int main()
{
trace("Client:Create an instance of component.");
CA* pA=new CA;
IX*pIX=pA;
trace("Client:Use the IX interface.");
pIX->Fx1();
delete pA; return 0;
}编译老是错误,不知道是怎么回事。在线等大家的答复中~~~~~~~~~~~~~~~~~~~~~~~

解决方案 »

  1.   


    #include<iostream>
    #include  <objbase.h> 
    using namespace std;void trace(const char*pMsg){cout <<pMsg <<endl;}interface IX
    {
        virtual void __stdcall Fx1() = 0;
        virtual void __stdcall Fx2() = 0;
    };
    interface IY
    {
        virtual void __stdcall Fy1() = 0;
        virtual void __stdcall Fy2() = 0;
    };
    class CA:public IX,public IY
    {
        virtual void __stdcall Fx1(){cout <<"CA::Fx1" <<endl;}
        virtual void __stdcall Fx2(){cout <<"CA::Fx2" <<endl;}
        virtual void __stdcall Fy1(){cout <<"CA::Fy1" <<endl;}
        virtual void __stdcall Fy2(){cout <<"CA::Fy2" <<endl;}
    };
    int main()
    {
        trace("Client:Create an instance of component.");
        CA* pA=new CA;
        IX*pIX=pA;
        trace("Client:Use the IX interface.");
        pIX-> Fx1();
        delete pA;    return 0;
    }