Rumah > pembangunan bahagian belakang > C++ > Bolehkah Fungsi Overridden dalam C Menyembunyikan Versi Terlebih Beban?

Bolehkah Fungsi Overridden dalam C Menyembunyikan Versi Terlebih Beban?

Barbara Streisand
Lepaskan: 2024-10-31 20:31:29
asal
753 orang telah melayarinya

 Can Overridden Functions in C   Hide Overloaded Versions?

Melebihi Muatan Fungsi Ditindih dalam C

Apabila menghadapi masalah di mana lebihan fungsi menjadi tersembunyi apabila mengatasi fungsi kelas asas, adalah penting untuk memahami tingkah laku yang wujud bagi model warisan C.

Dalam contoh yang diberikan, apabila kelas bar mengatasi fungsi foo::a(), ia menyembunyikan semua versi foo::a() yang terlebih muatan dalam skop kelas bar. Ini sebenarnya tidak salah tetapi lebih kepada reka bentuk.

Untuk menyelesaikan isu ini, kelas bar boleh menggunakan pengisytiharan penggunaan:

<code class="cpp">class bar : public foo {
  public:
    using foo::a;  // Bring all 'foo::a()' overloads into 'bar' scope
    ...
};</code>
Salin selepas log masuk

Pengisytiharan penggunaan secara berkesan mengimport semua lebihan foo:: a() ke dalam skop kelas bar, membenarkan lebihan muatan berfungsi dengan betul.

Walau bagaimanapun, adalah penting untuk mempertimbangkan kemungkinan akibat. Jika kod sedia ada menggunakan kelas foo, penambahan lebihan baharu melalui bar boleh menjejaskan kelakuannya atau menimbulkan kesamaran, yang membawa kepada ralat masa kompilasi.

Atas ialah kandungan terperinci Bolehkah Fungsi Overridden dalam C Menyembunyikan Versi Terlebih Beban?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan