template <class T /* IZodiac */ >
class TCOMIZodiacT : public TComInterface<IZodiac>, public TComInterfaceBase<IUnknown>
{
public:
  TCOMIZodiacT() {}
  TCOMIZodiacT(IZodiac *intf, bool addRef = false) : TComInterface<IZodiac>(intf, addRef) {}
  TCOMIZodiacT(const TCOMIZodiacT& src) : TComInterface<IZodiac>(src) {}
  TCOMIZodiacT& operator=(const TCOMIZodiacT& src) { Bind(src, true); return *this;}

  HRESULT         __fastcall GetZodiacSign(long Day/*[in]*/, long Month/*[in]*/, 
                                           BSTR* Sign/*[out,retval]*/);
  BSTR            __fastcall GetZodiacSign(long Day/*[in]*/, long Month/*[in]*/);
  HRESULT         __fastcall GetZodiacSignAsync(long Day/*[in]*/, long Month/*[in]*/);

};
typedef TCOMIZodiacT<IZodiac> TCOMIZodiac;
