Sdílet prostřednictvím


default (C++)

Označuje, že vlastní nebo dispinterface definované v rámci třídy coclass představuje výchozí programovatelnost rozhraní.

Syntaxe

[ default(interface1, interface2) ]

Parametry

rozhraní 1
Výchozí rozhraní, které bude zpřístupněno skriptovacím prostředím, které vytvoří objekt založený na třídě definované atributem default .

Pokud není zadáno žádné výchozí rozhraní, první výskyt jiného nežsource rozhraní se použije jako výchozí.

rozhraní 2
(Volitelné) Výchozí zdrojové rozhraní. Musíte také zadat toto rozhraní se zdrojovým atributem.

Pokud není zadáno žádné výchozí zdrojové rozhraní, použije se jako výchozí první zdrojové rozhraní.

Poznámky

Atribut default C++ má stejné funkce jako výchozí atribut MIDL. Atribut default se také používá s atributem case .

Příklad

Následující kód ukazuje, jak default se používá v definici třídy coclass k určení ICustomDispatch jako výchozí programovatelné rozhraní:

// cpp_attr_ref_default.cpp
// compile with: /LD
#include "windows.h"
[module(name="MyLibrary")];

[object, uuid("9E66A290-4365-11D2-A997-00C04FA37DDB")]
__interface ICustom {
   HRESULT Custom([in] long l, [out, retval] long *pLong);
};

[dual, uuid("9E66A291-4365-11D2-A997-00C04FA37DDB")]
__interface IDual {
   HRESULT Dual([in] long l, [out, retval] long *pLong);
};

[object, uuid("9E66A293-4365-11D2-A997-00C04FA37DDB")]
__interface ICustomDispatch : public IDispatch {
   HRESULT Dispatch([in] long l, [out, retval] long *pLong);
};

[   coclass, default(ICustomDispatch), source(IDual), uuid("9E66A294-4365-11D2-A997-00C04FA37DDB")
]
class CClass : public ICustom, public IDual, public ICustomDispatch {
   HRESULT Custom(long l, long *pLong) { return(S_OK); }
   HRESULT Dual(long l, long *pLong) { return(S_OK); }
   HRESULT Dispatch(long l, long *pLong) { return(S_OK); }
};

int main() {
#if 0 // Can't instantiate without implementations of IUnknown/IDispatch
   CClass *pClass = new CClass;

   long llong;

   pClass->custom(1, &llong);
   pClass->dual(1, &llong);
   pClass->dispinterface(1, &llong);
   pClass->dispatch(1, &llong);

   delete pClass;
#endif
   return(0);
}

Zdrojový atribut má také příklad použití default.

Požadavky

Kontext atributu Hodnota
Platí pro class, struct, datový člen
Opakovatelný No
Požadované atributy coclass (při použití na class nebo struct)
Neplatné atributy Nic

Další informace naleznete v tématu Kontexty atributů.

Viz také

IDL – atributy
Atributy třídy
coclass