Rumah >pembangunan bahagian belakang >C++ >Apakah peraturan padanan untuk kelebihan beban fungsi C++?

Apakah peraturan padanan untuk kelebihan beban fungsi C++?

WBOY
WBOYasal
2024-04-27 08:27:011063semak imbas

Peraturan padanan lebihan fungsi C++ adalah seperti berikut: padankan nombor dan jenis parameter dalam panggilan. Susunan parameter mestilah konsisten. Constness dan pengubah rujukan mesti sepadan. Parameter lalai boleh digunakan.

C++ 函数重载的匹配规则是什么?

Peraturan pemadanan untuk lebihan fungsi C++

Lebih muatan fungsi ialah ciri dalam C++ yang membolehkan fungsi mempunyai nama yang sama tetapi senarai parameter yang berbeza. Apabila pengkompil menemui panggilan fungsi, ia menggunakan satu set peraturan untuk menentukan fungsi terlampau beban untuk dipanggil.

Peraturan pemadanan:

  1. Prinsip pertama padanan terbaik: Pengkompil terlebih dahulu mencari fungsi yang betul-betul sepadan dengan panggilan. Jika terdapat berbilang padanan, padanan yang paling khusus (iaitu yang mempunyai jenis parameter yang paling khusus) dipilih.
  2. Nombor dan jenis parameter: Nama fungsi dan bilangan parameter mesti sepadan. Jika jenis parameter tidak sepadan, pengkompil mencuba penukaran jenis.
  3. Susunan parameter: Susunan hujah kepada fungsi mesti sepadan dengan susunan dalam panggilan. Padanan
  4. konst dan rujukan: konst dan rujukan mesti sepadan dengan pengubah suai dalam panggilan.
  5. Parameter lalai: Jika fungsi mempunyai parameter lalai dan parameter yang sepadan tidak diberikan dalam panggilan, pengkompil akan menggunakan nilai lalai.

Kes praktikal:

Pertimbangkan lebihan fungsi berikut:

void print(int value);
void print(double value);
void print(const char* str);

Contoh panggilan berikut:

print(42);  // 调用 int 重载
print(3.14); // 调用 double 重载
print("Hello"); // 调用 char* 重载

// 报错:无法将 int 隐式转换为 char*
// print(42, "Hello");

// 报错:参数顺序不匹配
// print("Hello", 42);

Kesimpulan:

Peraturan pemadanan fungsi yang manakah lebihan pemadanan C++ fungsi terlebih beban. Mematuhi peraturan ini memastikan anda mendapat gelagat yang dijangkakan apabila menggunakan fungsi terlampau beban.

Atas ialah kandungan terperinci Apakah peraturan padanan untuk kelebihan beban fungsi 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