Rumah > Artikel > pembangunan bahagian belakang > Peraturan pewarisan untuk fungsi ahli C++
Peraturan warisan fungsi ahli C++: Warisan awam: Jika kelas terbitan mewarisi fungsi ahli kelas asas secara terbuka, maka fungsi ahli kelas terbitan juga awam. Warisan yang dilindungi: Jika kelas terbitan melindungi dan mewarisi fungsi ahli kelas asas, maka fungsi ahli kelas terbitan dilindungi. Warisan persendirian: Kelas terbitan secara persendirian mewarisi fungsi ahli kelas asas Fungsi ahli kelas terbitan adalah peribadi dan tidak boleh diakses secara langsung oleh kelas terbitan itu sendiri.
Peraturan warisan untuk fungsi ahli C++
Dalam pengaturcaraan berorientasikan objek C++, kelas boleh mewarisi ahli data dan fungsi ahli daripada kelas asas melalui pewarisan. Untuk pewarisan fungsi ahli, ikut peraturan berikut:
Contoh praktikal:
Pertimbangkan contoh berikut:
class Shape { public: virtual double getArea(); // 抽象函数 }; class Rectangle : public Shape { public: Rectangle(double length, double width); double getArea() override; // 重写父类的 getArea 函数 private: double length; double width; }; class Square : protected Shape { public: Square(double side); double getArea() override; private: double side; }; class Circle : private Shape { public: Circle(double radius); double getArea() override; private: double radius; };
Dalam contoh ini:
Rectangle
secara terbuka mewarisi kelas >Shape
code> Fungsi getArea juga terbuka dalam kelas Rectangle
. Rectangle
类公有继承 类,因此 getArea
函数在 Rectangle
类中也是公有的。
Square
类保护继承 类,因此 getArea
函数在 Square
类中也是保护的。
Circle
类私有继承 类,因此 getArea
函数在 Circle
Square
dilindungi mewarisi kelas , jadi fungsi getArea
juga dilindungi dalam kelas Square
.
Kelas Lingkaran
secara peribadi mewarisi kelas , jadi fungsi
getArea
adalah peribadi dalam kelas Circle
.
Atas ialah kandungan terperinci Peraturan pewarisan untuk fungsi ahli C++. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!