Bagikan melalui


Operator unary kelebihan beban

Operator unary menghasilkan hasil dari satu operand. Anda dapat menentukan kelebihan beban sekumpulan operator unary standar untuk bekerja pada jenis yang ditentukan pengguna.

Operator unary yang dapat kelebihan beban

Anda dapat membebani operator unary berikut pada jenis yang ditentukan pengguna:

Deklarasi kelebihan beban operator unary

Anda dapat mendeklarasikan operator unary yang kelebihan beban baik sebagai fungsi anggota non-statis atau sebagai fungsi nonmember. Fungsi anggota unary yang kelebihan beban tidak mengambil argumen karena secara implisit beroperasi pada this. Fungsi nonmember dideklarasikan dengan satu argumen. Ketika kedua formulir dideklarasikan, pengkompilasi mengikuti aturan untuk resolusi kelebihan beban untuk menentukan fungsi mana yang akan digunakan, jika ada.

Aturan berikut berlaku untuk semua operator unary awalan. Untuk mendeklarasikan fungsi operator unary sebagai fungsi anggota non-statis, gunakan formulir deklarasi ini:

return-type operator op ();

Dalam formulir ini, return-type adalah jenis pengembalian dan op merupakan salah satu operator yang tercantum dalam tabel sebelumnya.

Untuk mendeklarasikan fungsi operator unary sebagai fungsi nonmember, gunakan formulir deklarasi ini:

return-type operator op ( class-type );

Dalam formulir ini, return-type adalah jenis pengembalian, op adalah salah satu operator yang tercantum dalam tabel sebelumnya, dan class-type merupakan jenis kelas argumen yang akan dioperasikan.

Bentuk postfix ++ dan -- mengambil argumen tambahan int untuk membedakannya dari bentuk awalan. Untuk informasi selengkapnya tentang formulir awalan dan pascafiks dari ++ dan , lihat Peningkatan dan penurunan kelebihan beban-- operator.

Catatan

Tidak ada batasan pada jenis pengembalian operator unary. Misalnya, masuk akal bagi NOT logis (!) untuk mengembalikan bool nilai, tetapi perilaku ini tidak diberlakukan.

Baca juga

Overloading operator