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 kelasRectangle
.Rectangle
类公有继承
shape< code>
类,因此
getArea
函数在
Rectangle
类中也是公有的。
shape<>Square
类保护继承
shape< code>
类,因此
getArea
函数在
Square
类中也是保护的。
shape<>Circle
类私有继承
shape< code>
类,因此
getArea
函数在
Circle
shape<>Square
dilindungi mewarisi kelas
shape< code>
, jadi fungsi
getArea
juga dilindungi dalam kelas
Square
.
shape<>
KelasLingkaran
secara peribadi mewarisi kelas
shape< code>
, jadi fungsi
shape<>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!