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.
Birli işleçler tek bir işlenenden sonuç üretir. Kullanıcı tanımlı türler üzerinde çalışmak için standart bir tekli işleç kümesinin aşırı yüklemelerini tanımlayabilirsiniz.
Aşırı yüklenebilir birli işleçler
Kullanıcı tanımlı türlerde aşağıdaki tekli işleçleri aşırı yükleyebilirsiniz:
!
(mantıksal DEĞİl)&
(adres)~
(tamamlayıcı)+
(birli artı)++
(ön ek artışı) veya (sonek artışı)--
(ön ek azaltma) veya (sonek azaltma)
Birli işleç aşırı yükleme bildirimleri
Aşırı yüklenmiş birli işleçleri statik olmayan üye işlevleri veya üye olmayan işlevler olarak bildirebilirsiniz. Aşırı yüklenmiş birli üye işlevleri üzerinde örtük olarak çalıştıkları this
için bağımsız değişken almaz. Üye olmayan işlevler tek bir bağımsız değişkenle bildirilir. Her iki form da bildirildiğinde, derleyici varsa hangi işlevin kullanılacağını belirlemek için aşırı yükleme çözümlemesi kurallarını izler.
Aşağıdaki kurallar tüm ön ekli tekli işleçler için geçerlidir. Birli işleç işlevini statik olmayan bir üye işlevi olarak bildirmek için şu bildirim formunu kullanın:
return-type
operator
op
();
Bu formda, return-type
dönüş türüdür ve op
önceki tabloda listelenen işleçlerden biridir.
Birli işleç işlevini üye olmayan bir işlev olarak bildirmek için şu bildirim formunu kullanın:
return-type
operator
op
(
class-type
);
Bu formda, return-type
dönüş türüdür, op
önceki tabloda listelenen işleçlerden biridir ve class-type
üzerinde çalışılması gereken bağımsız değişkenin sınıf türüdür.
ve sonek formları, ön ek formlarından ++
--
ayırt etmek için ek int
bir bağımsız değişken alır. ve --
ön eki ve sonek formları ++
hakkında daha fazla bilgi için bkz. Artım ve azaltma işleci aşırı yüklemesi.
Not
Birli işleçlerin dönüş türlerinde kısıtlama yoktur. Örneğin, mantıksal DEĞİl (!
) öğesinin bir bool
değer döndürmesi mantıklıdır, ancak bu davranış uygulanmaz.