Varsayılan (C++)
Varsayılan programlama arabirimi özel veya coclass içinde tanımlı görüntüleme arabirimi temsil ettiğini gösterir.
[ default(
interface1,
interface2
) ]
Parametreler
interface1
Nesne oluşturma komut dosyası yazma ortamları için kullanıma sunulacaktır varsayılan arabirimi ile tanımlanan sınıf temel varsayılan özniteliği.Varsayılan arabirim belirtilmezse, varsayılan olarak ilk geçtiği bir nonsource arabirimi kullanılır.
interface2(isteğe bağlı)
Varsayılan kaynak arabirimi.Bu arabirimle belirtmeniz gerekir kaynak özniteliği.Varsayılan kaynak Arabirim belirtilmezse, varsayılan olarak ilk kaynak arabirim kullanılır.
Notlar
Varsayılan C++ öznitelik aynı işlevselliğe sahip varsayılan MIDL özniteliği.Varsayılan özniteliği ile kullanılan aynı zamanda durumda özniteliği.
Örnek
Aşağıdaki kod programlarını nasıl varsayılan belirtmek için kullanılan bir coclass tanımına dayanan ICustomDispatch varsayılan programlama arabirimi olarak:
// 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);
}
Kaynak özniteliğine sahip da nasıl kullanılacağını gösteren bir örnek varsayılan.
Gereksinimler
Öznitelik içerik
Uygulama alanı |
sınıf, struct, veri üyesi |
Yinelenebilir |
Hayyr |
Gerekli öznitelikleri |
coclass (türlerine uygulandığında sınıfı veya struct) |
Geçersiz öznitelik |
None |
Daha fazla bilgi için bkz: Öznitelik içerikleri.