[size=x-large]简单模拟,非真实COM组件[/size]
#include <iostream>
#include <objbase.h>
using namespace std;
//
//接口定义
//
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
{
public:
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 ;}
} ;
//
//客户,只能通过接口调用COM组件
//
int main()
{
CA* pA = new CA ;
IX* pIX = pA ;//作用是什么?
pIX->Fx1() ;
pIX->Fx2() ;
IY* pIY = pA ;//作用是什么?
pIY->Fy1() ;
pIY->Fy2() ;
delete pA ;
system("pause");
return 0 ;
}