Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Ortak sınıf içinde tanımlanan özel veya dispinterface öğesinin varsayılan programlanabilirlik arabirimini temsil ettiğini gösterir.
Sözdizimi
[ default(interface1, interface2) ]
Parametreler
arabirim1
özniteliğiyle default tanımlanan sınıfı temel alan bir nesne oluşturan betik ortamları için kullanılabilir hale getirilecek varsayılan arabirim.
Varsayılan arabirim belirtilmezse, kaynak olmayan arabirimin ilk oluşumu varsayılan olarak kullanılır.
arabirim2
(İsteğe bağlı) Varsayılan kaynak arabirimi. Bu arabirimi kaynak özniteliğiyle de belirtmeniz gerekir.
Varsayılan bir kaynak arabirimi belirtilmezse, ilk kaynak arabirimi varsayılan olarak kullanılır.
Açıklamalar
default C++ özniteliği, varsayılan MIDL özniteliğiyle aynı işlevselliğe sahiptir. default özniteliği case özniteliğiyle de kullanılır.
Örnek
Aşağıdaki kod, varsayılan programlanabilirlik arabirimi olarak belirtmek ICustomDispatch üzere bir ortak sınıfın tanımında nasıl default kullanıldığını gösterir:
// 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ğinin nasıl kullanılacağına defaultilişkin bir örneği de vardır.
Gereksinimler
| Öznitelik bağlamı | Değer |
|---|---|
| Şunlar için geçerlidir: | class, struct, veri üyesi |
| Tekrarlanabilir | Hayır |
| Gerekli öznitelikler | coclass (veya struct'ye class uygulandığında) |
| Geçersiz öznitelikler | Hiçbiri |
Daha fazla bilgi için bkz . Öznitelik Bağlamları.