Rumah >pembangunan bahagian belakang >C++ >Mengapakah Saya Tidak Boleh Mengakses Ahli Dilindungi dalam Kelas Diwarisi Saya Apabila Menggunakan Pewarisan Templat?
Keterlihatan Ahli Kelas Induk Hilang dalam Kelas Diwarisi
Apabila mewarisi daripada kelas templat, seperti dalam kes unorderedArrayListType yang mewarisi daripada arrayListType, pembolehubah ahli yang diisytiharkan sebagai dilindungi dalam kelas induk mungkin tidak boleh diakses dalam kelas yang diwarisi. Ini boleh membawa kepada ralat penyusunan apabila cuba mengakses pembolehubah ini.
Dalam kod yang disediakan, mesej ralat menunjukkan bahawa panjang dan senarai pembolehubah yang dilindungi dalam arrayListType tidak dikenali dalam unorderedArrayListType. Untuk menyelesaikan masalah ini, pengkompil perlu dimaklumkan dengan jelas bahawa ahli ini diwarisi daripada kelas induk.
Terdapat dua cara biasa untuk mencapai ini:
Dengan mengisytiharkan atau mendahului rujukan ahli dengan ini->, pengkompil boleh mewujudkan pergantungan antara kelas yang diwarisi dan templat kelas induk, membenarkan akses kepada ahli yang dilindungi dalam kelas induk.
Adalah penting untuk ambil perhatian bahawa gagal untuk menangani isu ini dengan betul semasa pas kompilasi boleh mengakibatkan ralat simbol yang tidak ditentukan semasa peringkat pemautan pelaksanaan program.
Atas ialah kandungan terperinci Mengapakah Saya Tidak Boleh Mengakses Ahli Dilindungi dalam Kelas Diwarisi Saya Apabila Menggunakan Pewarisan Templat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!