KOALAC.H
资源名称:MSDN_VC98.zip [点击查看]
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:2k
源码类别:
Windows编程
开发平台:
Visual C++
- /*
- * KOALAC.H
- *
- * Definition of the Koala object using containment, Chapter 2
- * Included only from KOALAC.CPP.
- *
- * Copyright (c)1993-1995 Microsoft Corporation, All Rights Reserved
- *
- * Kraig Brockschmidt, Microsoft
- * Internet : kraigb@microsoft.com
- * Compuserve: >INTERNET:kraigb@microsoft.com
- */
- #ifndef _KOALAC_H_
- #define _KOALAC_H_
- class CImpIAnimal_K;
- typedef CImpIAnimal_K *PCImpIAnimal_K;
- class CImpIKoala_C;
- typedef CImpIKoala_C *PCImpIKoala_C;
- class CKoalaC : public IUnknown
- {
- friend CImpIAnimal_K;
- friend CImpIKoala_C;
- private:
- DWORD m_cRef; //Object reference count
- PCImpIAnimal_K m_pImpIAnimal; //Interface implementation
- PCImpIKoala_C m_pImpIKoala; //Interface implementation
- IAnimal *m_pIAnimal; //From Animal
- public:
- CKoalaC(void);
- ~CKoalaC(void);
- BOOL Init(void);
- //IUnknown members, non-delegating
- STDMETHODIMP QueryInterface(REFIID, PPVOID);
- STDMETHODIMP_(DWORD) AddRef(void);
- STDMETHODIMP_(DWORD) Release(void);
- };
- typedef CKoalaC *PCKoalaC;
- class CImpIAnimal_K : public IAnimal
- {
- private:
- DWORD m_cRef; //For debugging
- PCKoalaC m_pObj; //Back pointer
- public:
- CImpIAnimal_K(PCKoalaC);
- ~CImpIAnimal_K(void);
- //IUnknown members
- STDMETHODIMP QueryInterface(REFIID, PPVOID);
- STDMETHODIMP_(DWORD) AddRef(void);
- STDMETHODIMP_(DWORD) Release(void);
- //IAnimal members
- STDMETHODIMP Eat(void);
- STDMETHODIMP Sleep(void);
- STDMETHODIMP Procreate(void);
- };
- class CImpIKoala_C : public IKoala
- {
- private:
- DWORD m_cRef; //For debugging
- PCKoalaC m_pObj; //Back pointer
- public:
- CImpIKoala_C(PCKoalaC);
- ~CImpIKoala_C(void);
- //IUnknown members
- STDMETHODIMP QueryInterface(REFIID, PPVOID);
- STDMETHODIMP_(DWORD) AddRef(void);
- STDMETHODIMP_(DWORD) Release(void);
- //IKoala members
- STDMETHODIMP ClimbEucalyptusTrees(void);
- STDMETHODIMP PouchOpensDown(void);
- STDMETHODIMP SleepForHoursAfterEating(void);
- };
- #endif _KOALAC_H_