Контрольная работа: Распределенная обработка данных
// Интерфейсы
interface IX : IUnknown
{
virtual void __stdcall Fx() = 0;
};
interface IY : IUnknown
{
virtual void __stdcall Fy() = 0;
};
interface IZ : IUnknown
{
virtual void __stdcall Fz() = 0;
};
// Предварительные объявления GUID
extern const IID IID_IX;
extern const IID IID_IY;
extern const IID IID_IZ;
//
// Компонент
class CA : public IX, public IY
{
// Реализация IUnknown
virtual HRESULT __stdcall QueryInterface(const IID& iid, void** ppv);
virtual ULONG __stdcall AddRef() { return 0; }
virtual ULONG __stdcall Release() { return 0; }
// Реализация интерфейса IX
virtual void __stdcall Fx() { cout << "Fx" << endl; }
// Реализация интерфейса IY
virtual void __stdcall Fy() { cout << "Fy" << endl; }