Rumah >pembangunan bahagian belakang >C++ >Fungsi teknik overloading dalam C++

Fungsi teknik overloading dalam C++

PHPz
PHPzasal
2023-08-22 12:09:221403semak imbas

Fungsi teknik overloading dalam C++

Fungsi lebihan beban dalam C++ ialah ciri yang sangat berkuasa. Lebihan fungsi bermakna bahawa dalam skop yang sama, kita boleh mentakrifkan berbilang fungsi dengan nama yang sama, tetapi senarai parameternya berbeza. Apabila kita memanggil fungsi ini dengan nama yang sama, pengkompil secara automatik akan memilih fungsi yang hendak dipanggil berdasarkan nombor dan jenis parameter yang diluluskan. Ini membolehkan kami menulis kod yang lebih ringkas, boleh dibaca dan boleh diselenggara. Berikut ialah beberapa petua lebihan fungsi dalam C++:

  1. Jenis parameter berbeza

Kita boleh mentakrifkan berbilang fungsi dengan nama yang sama, tetapi jenis parameter formalnya berbeza. Contohnya:

int add(int a, int b);
double add(double a, double b);

Dua fungsi di atas kedua-duanya dipanggil tambah, tetapi satu menerima parameter jenis int dan satu lagi menerima parameter jenis berganda. Apabila kita memanggil fungsi tambah, pengkompil secara automatik akan memadankan fungsi yang sepadan berdasarkan jenis parameter yang diluluskan.

  1. Bilangan parameter yang berbeza

Kita boleh mentakrifkan berbilang fungsi dengan nama yang sama, tetapi bilangan parameternya berbeza. Contohnya:

int sum(int a, int b);
int sum(int a, int b, int c);
int sum(int a, int b, int c, int d);

Tiga fungsi di atas semuanya dipanggil jumlah, tetapi bilangan parameternya berbeza. Apabila kita memanggil fungsi jumlah, pengkompil secara automatik akan memadankan fungsi yang sepadan berdasarkan bilangan parameter yang diluluskan.

  1. Jenis dan nombor parameter adalah berbeza

Kita boleh mentakrifkan berbilang fungsi dengan nama yang sama, dan jenis dan nombor parameternya berbeza. Contohnya:

int max(int a, int b);
double max(double a, double b);
int max(int a, int b, int c);
double max(double a, double b, double c);

Empat fungsi di atas semuanya dipanggil maks, dan jenis dan nombor parameternya berbeza. Apabila kita memanggil fungsi maks, pengkompil secara automatik akan memadankan fungsi yang sepadan berdasarkan jenis dan bilangan parameter yang diluluskan.

  1. Parameter nilai lalai

Kita boleh mentakrifkan fungsi dengan nilai lalai untuk beberapa parameternya. Contohnya:

int sum(int a, int b, int c = 0);

Fungsi jumlah di atas menerima tiga parameter, tetapi parameter terakhir mempunyai nilai lalai 0. Jika kita hanya memasukkan dua parameter apabila kita memanggil fungsi jumlah, parameter ketiga akan diberikan nilai 0 secara automatik. Jika tiga parameter dimasukkan, nilai parameter ketiga ialah nilai yang diluluskan.

  1. const keyword

Kita boleh mentakrifkan dua fungsi dengan nama yang sama, satu yang menerima parameter jenis const dan satu lagi yang tidak. Contohnya:

int sum(const int a, const int b);
int sum(int a, int b);

Dua fungsi di atas kedua-duanya dipanggil jumlah, tetapi yang pertama menerima parameter jenis const. Dalam kes ini, jika kita lulus dalam parameter jenis const apabila memanggil fungsi jumlah, fungsi pertama akan dipanggil jika kita lulus dalam parameter jenis bukan const, fungsi kedua akan dipanggil.

Apabila menggunakan lebihan fungsi, kita perlu memberi perhatian kepada perkara berikut:

  • Fungsi dengan nama yang sama mesti ditakrifkan dalam skop yang sama.
  • Senarai parameter formal fungsi mestilah berbeza, termasuk nombor parameter, jenis, susunan atau nilai lalai parameter.
  • Jenis pemulangan tidak boleh digunakan sebagai tanda pembezaan untuk kelebihan beban fungsi.
  • Jangan terlalu menggunakan fungsi yang berlebihan, jika tidak, ia akan mengurangkan kebolehbacaan dan kebolehselenggaraan kod.

Ringkasnya, lebihan fungsi adalah ciri yang sangat berguna dalam C++, yang membolehkan kami menulis kod yang lebih ringkas, boleh dibaca dan boleh diselenggara. Kami secara fleksibel boleh menggunakan kaedah pembebanan yang berbeza mengikut keadaan sebenar untuk memenuhi keperluan projek dengan lebih baik.

Atas ialah kandungan terperinci Fungsi teknik overloading dalam C++. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn