pizza1.h

来自「VC++串口通信设。本书详细说明讲解了在VC++环境下编写串口通信得过程。值得一」· C头文件 代码 · 共 67 行

H
67
字号
#ifndef PIZZA1_H
#define PIZZA1_H

// Get needed include files
#include "StdInc.h"
#include "COMTypes.h"


//
// The PizzaOrderTaker COM class
//

class ComPizzaOrderTaker : public CCmdTarget
{
public:

   // Constructor and destructor
   ComPizzaOrderTaker();
   virtual ~ComPizzaOrderTaker();

protected:

   // IPizzaOrderTaker members
   BEGIN_INTERFACE_PART(CInnerPizza, IPizzaOrderTaker)
      STDMETHOD(ResetPizza)    ();
      STDMETHOD(SetPizzaSize)  (PizzaSize     eNewSize);
      STDMETHOD(GetPizzaSize)  (PizzaSize*    peCurrSize);
      STDMETHOD(AddTopping)    (Topping       eNewTopping,
                                ToppingSize   eNewToppingSize);
      STDMETHOD(RemoveTopping) (Topping       eRemTopping);
      STDMETHOD(GetNumToppings)(ULONG*        pulNumToppings);
      STDMETHOD(GetTopping)    (ULONG         ulListPos,
                                Topping*      peTopping,
                                ToppingSize*  peToppingSize);
      STDMETHOD(GetPizzaPrice) (PULONG        pulPrice);
      STDMETHOD(OrderPizza)    (DeliveryInfo* pDeliveryInfo,
                                CreditCard    eCreditCardType,
                                BSTR          bstrCreditCardNum,
                                ULONG*        pulPrice);
   END_INTERFACE_PART(CInnerPizza)

   DECLARE_INTERFACE_MAP()
   DECLARE_OLECREATE(ComPizzaOrderTaker)
   DECLARE_DYNCREATE(ComPizzaOrderTaker)

private:

   // Private, nested tuple class
   struct CToppingTuple
   {
      Topping     eTopping;
      ToppingSize eToppingSize;
   };

   // Private member data
   PizzaSize                               m_eSize;
   CTypedPtrList<CPtrList, CToppingTuple*> m_ToppingList;

   // Private methods
   POSITION FindTopping(Topping eSearchTopping);
};

typedef ComPizzaOrderTaker* PComPizzaOrderTaker;


#endif

⌨️ 快捷键说明

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