📄 pizzaorderimp.h
字号:
#ifndef PIZZAORDERIMP_H
#define PIZZAORDERIMP_H
// Get needed include files
#include <list>
#include "Resource.h"
#include "GUIDs.h"
class ATL_NO_VTABLE ComPizzaOrderTaker :
public CComObjectRoot,
public CComCoClass<ComPizzaOrderTaker, &CLSID_PizzaOrderTaker3>,
public IPizzaOrderTaker
{
public:
// Ctor and dtors
ComPizzaOrderTaker();
virtual ~ComPizzaOrderTaker();
// 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);
BEGIN_COM_MAP(ComPizzaOrderTaker)
COM_INTERFACE_ENTRY(IPizzaOrderTaker)
END_COM_MAP()
DECLARE_REGISTRY_RESOURCEID(IDR_REGSCRIPT)
private:
// Private, nested tuple class
struct CToppingTuple
{
Topping eTopping;
ToppingSize eToppingSize;
};
// Convenience typedefs
typedef std::list<CToppingTuple*> TupleList;
typedef TupleList::iterator TupleListIter;
// Private member data
PizzaSize m_eSize;
TupleList m_ToppingList;
// Private methods
TupleListIter FindTopping(Topping eSearchTopping);
LPOLESTR LoadPizzaMakerHostnameFromRegistry();
};
typedef ComPizzaOrderTaker* PComPizzaOrderTaker;
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -