Kelebihan Fungsi dalam C ++: Yang Perlu Anda Ketahui



Artikel ini akan memberi anda pengetahuan terperinci dan komprehensif mengenai Fungsi Overloading di C ++ dengan banyak Contoh untuk difahami.

C ++ adalah salah satu bahasa pengaturcaraan yang sangat fleksibel dan ia juga merangkumi beberapa ciri pengaturcaraan berorientasikan objek. Beban berlebihan adalah ciri lain dari bahasa pengaturcaraan ini.Petunjuk berikut akan dibahas dalam artikel 'Fungsi Kelebihan dalam C ++' ini

Beban berlebihan C ++

Apabila kita membuat dua atau lebih ahli kelas yang mempunyai nama yang sama tetapi berbeza dalam jumlah atau jenis parameter, ia dikenali sebagai kelebihan beban C ++. Di C ++, kita boleh memuatkan lebih banyak:





  • kaedah,
  • pembina, dan
  • sifat terindeks

Jenis beban berlebihan di C ++

types-of-overloading-in-c++

Apakah fungsi overloading di C ++?

Overloading Fungsi dalam C ++ dapat didefinisikan sebagai proses untuk memiliki dua atau lebih fungsi anggota kelas dengan nama yang sama, tetapi parameternya berbeza. Dalam overloading fungsi, fungsi dapat didefinisikan ulang baik dengan menggunakan berbagai jenis argumen atau sejumlah argumen yang berbeda sesuai dengan persyaratan. Hanya melalui perbezaan ini penyusun dapat membezakan antara dua fungsi yang berlebihan.



Salah satu kelebihan utama Function overloading ialah meningkatkan pembacaan program kerana kita tidak perlu menggunakan nama yang berbeza untuk tindakan yang sama berulang-ulang kali.

Dengan mengubah Bilangan Hujah

Dengan cara overloading fungsi ini, kita menentukan dua fungsi dengan nama yang sama tetapi jumlah parameter yang berbeza dari jenis yang sama. Sebagai contoh, dalam program yang disebutkan di bawah ini, kami telah membuat dua fungsi add () untuk mengembalikan jumlah dua dan tiga bilangan bulat.

cara membuat pakej java
// definisi fungsi pertama int add (int a, int b) {cout<< a+b } // second overloaded function definition int add(int a, int b, int c) { cout << a+b+c }

Di sini fungsi add () dikatakan berlebihan, kerana ia mempunyai dua definisi, satu yang menerima dua argumen dan satu lagi yang menerima tiga argumen. Fungsi add () mana yang akan dipanggil, bergantung pada jumlah argumen.



int main () {add (10, 20) // add () dengan 2 parameter akan dipanggil add (10, 20, 30) // sum () dengan 3 parameter akan dipanggil}
#sertakan dengan menggunakan namespace std int add (int a, int b) {cout<< a+b <

Dalam contoh di atas, kami memuatkan fungsi add () dengan mengubah bilangan argumennya. Pertama, kita menentukan fungsi add () dengan dua parameter, kemudian kita membebankannya dengan mendefinisikan lagi fungsi add () tetapi kali ini dengan tiga parameter.

Dengan mempunyai pelbagai jenis Hujah

Dalam kaedah ini, kami menentukan dua atau lebih fungsi dengan nama yang sama dan jumlah parameter yang sama, tetapi jenis data yang digunakan untuk parameter ini berbeza. Sebagai contoh dalam program ini, kita mempunyai tiga fungsi add (), yang pertama mendapat dua argumen integer, yang kedua mendapat dua argumen float dan yang ketiga mendapat dua argumen berganda.

#sertakan dengan menggunakan namespace std int add (int x, int y) // definisi pertama {cout<< x+y << endl return 0 } float add(float a, float b) { cout << a+b << endl return 0 } double add(double x, double y) { cout << x+y << endl return 0 } int main() { add(20, 40) add(23.45f, 34.5f) add(40.24, 20.433) }

Dalam contoh di atas, kita menentukan fungsi tambah () tiga kali. Pertama menggunakan bilangan bulat sebagai parameter, kedua menggunakan float sebagai parameter dan ketiga menggunakan dua kali ganda sebagai parameter.
Oleh itu, kita mengatasi fungsi tambah () dua kali.

klausa penyatuan digunakan untuk

Kelebihan fungsi Overloading dalam C ++

  • Kami menggunakan fungsi berlebihan untuk menjimatkan ruang memori, konsistensi, dan kebolehbacaan program kami.

  • Dengan konsep fungsi overloading fungsi, kita dapat mengembangkan lebih dari satu fungsi dengan nama yang sama

  • Kelebihan fungsi menunjukkan tingkah laku polimorfisme yang membolehkan kita mendapatkan tingkah laku yang berbeza, walaupun akan ada beberapa kaitan yang menggunakan nama fungsi yang sama.

  • Kelebihan fungsi mempercepat pelaksanaan program.

  • Overloading fungsi digunakan untuk penggunaan semula kod dan juga untuk menjimatkan memori.

  • Ini membantu aplikasi memuatkan kaedah kelas berdasarkan jenis parameter.

  • Penyelenggaraan kod adalah mudah.

Kelemahan fungsi Overloading dalam C ++

  • Pengisytiharan fungsi yang hanya berbeza dengan jenis pengembaliannya tidak dapat dibebani dengan proses pemuatan fungsi.
  • Pengisytiharan fungsi anggota dengan parameter yang sama atau jenis nama yang sama tidak dapat berlebihan jika salah satu daripadanya dinyatakan sebagai fungsi anggota statik.
  • kelas XYZ {static void func () void func () // error}

Fungsi Kelebihan dan Kekaburan

Apabila penyusun tidak dapat memutuskan fungsi mana yang harus dipanggilnya terlebih dahulu di antara fungsi yang terlalu banyak, keadaan ini dikenali sebagai kesamaran fungsi yang berlebihan. Penyusun tidak menjalankan program jika menunjukkan kesilapan kesamaran. Sebab-sebab Kekaburan Fungsi yang berlebihan:

  • Jenis Penukaran.
  • Berfungsi dengan argumen lalai.
  • Berfungsi dengan rujukan lulus

Jenis Penukaran:

#sertakan dengan menggunakan fungsi namespace std void (float) void function (int) void function (float x) {std :: cout<< 'Value of x is : ' <

Contoh di atas melemparkan ralat - 'panggilan fungsi berlebihan' (dua kali ganda) 'tidak jelas'. Fungsi (3.4) akan memanggil fungsi pertama. Fungsi (34) memanggil fungsi kedua mengikut ramalan kami. Tetapi ini tidak berlaku kerana di C ++ semua pemalar titik terapung diperlakukan dua kali ganda bukan pelampung. Sekiranya kita mengganti pemboleh ubah apungan ke pemboleh ubah berganda, program akan berjalan dengan baik. Oleh itu, kami menyebutnya ralat penukaran jenis dari float menjadi double.

Fungsi dengan Hujah Lalai:

#sertakan dengan menggunakan fungsi namespace std void (int) fungsi void (int, int) fungsi void (int x) {std :: cout<< 'Value of x is : ' <

Contoh di atas memberikan ralat yang mengatakan 'panggilan berlebihan' menyenangkan (int) 'tidak jelas', ini kerana fungsi (int y, int z = 12) dapat dipanggil dengan dua cara:

  1. Dengan memanggil fungsi dengan satu argumen (dan secara automatik akan mengambil nilai z = 12)
  2. Dengan memanggil fungsi dengan dua argumen.

Apabila kita memanggil fungsi: fungsi (12) kita mengisi keadaan kedua-dua fungsi (int) dan fungsi (int, int) sehingga penyusun masuk ke dalam kesamaran menunjukkan kesalahan.

Fungsi dengan rujukan lulus

apa yang berjaga-jaga dalam javascript
#sertakan dengan menggunakan namespace std void function (int) void function (int &) void function (int a) {std :: cout<< 'Value of a is : ' < 

Program di atas memberikan ralat yang mengatakan 'panggilan berlebihan' menyenangkan (int &) 'tidak jelas'. Seperti yang kita lihat fungsi pertama mengambil satu argumen integer dan fungsi kedua mengambil parameter rujukan sebagai argumen. Dalam kes ini, penyusun tidak dapat memahami fungsi mana yang diperlukan oleh pengguna kerana tidak ada perbezaan sintaksis antara keseronokan (int) dan keseronokan (int &) sehingga ia menunjukkan kesalahan kesamaran.

Dengan ini, kita mengakhiri Fungsi Overloading ini di C ++. Sekiranya anda ingin mengetahui lebih lanjut, lihat di oleh Edureka, sebuah syarikat pembelajaran dalam talian yang dipercayai. Kursus latihan dan pensijilan Java J2EE dan SOA Edureka dirancang untuk melatih anda untuk konsep Java teras dan maju bersama dengan pelbagai kerangka kerja Java seperti Hibernate & Spring.

Ada soalan untuk kami? Sila sebutkan di bahagian komen blog ini dan kami akan menghubungi anda secepat mungkin.