⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 koalac.h

📁 英文版的 想要的话可以下载了 为大家服务
💻 H
字号:
/*
 * 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_

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -