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ů.