Dalam C++, akses kelas terbitan kepada fungsi kelas asas bergantung pada tahap warisan: awam: Kelas terbitan boleh mengakses dan mengatasi fungsi awam kelas asas tanpa sekatan. Dilindungi: Kelas terbitan hanya boleh mengakses dan mengatasi fungsi dilindungi kelas asas dan tidak boleh memanggilnya terus daripada objek kelas asas. peribadi: Kelas terbitan tidak boleh mengakses fungsi peribadi kelas asas.
Dalam C++, apabila kelas terbitan mewarisi kelas asas, ia boleh mewarisi ahli kelas asas, termasuk fungsi. Bergantung pada kebenaran warisan, kelas terbitan mempunyai cara yang berbeza untuk mengakses fungsi kelas asas.
Terdapat tiga tahap akses diwarisi dalam C++:
Pertimbangkan kelas asas dan kelas terbitan berikut:
class Base { public: void public_function(); protected: void protected_function(); private: void private_function(); }; class Derived : public Base { public: // 派生类可以无限制地访问 public 函数 void call_public_function() { public_function(); } protected: // 派生类只能访问 protected 函数 void call_protected_function() { protected_function(); } };
Seperti yang dapat dilihat daripada contoh ini:
public_function
kelas asas. Derived
可以通过 call_public_function
方法访问基类的 public_function
。call_protected_function
方法访问基类的 protected_function
。private_function
protected_function
kelas asas melalui kaedah call_protected_function
. mengakses terus atau mengatasi
Atas ialah kandungan terperinci Penjelasan terperinci tentang warisan fungsi C++: Apakah hak akses yang diwarisi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!