COM 学习(一)

简单模拟,非真实COM组件
#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 ;
}

你可能感兴趣的:(C++,c,C#)