Video: 42 Fungsi String strcpy dan strcat Menyalin dan Menggabungakan String 42 - Belajar bahasa C Dev-C++ 2024
Jenis data intrinsik dibina ke dalam bahasa C ++, seperti int , float , dan dua dan pelbagai jenis penunjuk. C ++ membolehkan pengaturcara untuk mentakrifkan pengendali untuk kelas yang programmer telah mencipta sebagai tambahan kepada pengendali intrinsik ini. Ini dipanggil overloading operator.
Biasanya, pengendalian muatan adalah pilihan dan tidak dicuba dengan memulakan pengaturcara C ++. Banyak pengaturcara C ++ yang berpengalaman tidak fikir pengendalian muatan adalah idea yang baik. Walau bagaimanapun, anda perlu belajar bagaimana untuk membebani satu pengendali: pengendali tugasan.
Pengendali tidak lebih daripada fungsi terbina dalam dengan sintaks yang pelik. Operasi tambahan berikut
a + b
boleh difahami seolah-olah ditulis
operator + (a, b)
Malah, C ++ memberikan setiap pengendali nama gaya fungsi. Nama berfungsi operator adalah simbol operator yang didahului oleh operator kata kunci dan diikuti oleh jenis argumen yang sesuai. Contohnya, pengendali + yang menambah int ke int menghasilkan int disebut int operator + (int, int).
Mana-mana pengendali yang sedia ada boleh ditakrifkan untuk kelas yang ditentukan oleh pengguna. Oleh itu, saya boleh mencipta Operator Kompleks * (const Complex &, const Complex &) yang membolehkan saya melipatgandakan dua objek jenis Kompleks . Pengendali baru mungkin mempunyai semantik yang sama dengan pengendalinya yang berlebihan, tetapi ia tidak perlu. Peraturan berikut dikenakan apabila pengendali muatan terlalu banyak:
-
Programmer tidak boleh memuatkan . (dot), :: (usus), . *, * ->, sizeof dan ?: Pengendali (ternary).
-
Pengaturcara tidak dapat mencipta pengendali baru. Sebagai contoh, anda tidak boleh mencipta operasi x $ y .
-
Sintaks pengendali tidak boleh diubah. Oleh itu, anda tidak dapat menentukan operasi% i kerana% sudah ditentukan sebagai pengendali binari.
-
Keutamaan pengendali tidak dapat diubah. Program tidak dapat memaksa pengendali + untuk dinilai sebelum pengendali * .
-
Pengendali tidak boleh didefinisikan semula apabila diterapkan kepada jenis intrinsik - anda tidak boleh mengubah maksud 1 + 2. Pengendali sedia ada boleh dibebankan hanya untuk jenis yang baru ditakrifkan.
Operator overloading adalah salah satu perkara yang kelihatan seperti idea yang lebih baik daripada yang sebenarnya. Biasanya, pengendali overloading memperkenalkan lebih banyak masalah daripada penyelesaiannya.