C 中,函數重寫允許衍生類別覆寫基底類別函數,以擴展或修改其行為。其語法為:具有相同函數名稱具有相同函數簽名使用override關鍵字
#C 中函數重寫的全面指南
#在C 中,函數重寫允許衍生類別覆蓋基底類別中的函數。這在擴展基類功能或修改其行為時非常有用。
語法
要覆寫基底類別函數,衍生類別中的函數必須:
override
關鍵字例如,考慮下列基底類別:
class Base { public: virtual void print() { std::cout << "Base class" << std::endl; } };
要覆寫print()
函數,衍生類別可以使用下列語法:
class Derived : public Base { public: override void print() { std::cout << "Derived class" << std::endl; } };
實戰案例
考慮一個Shape
基底類別和一個Circle
衍生類別:
class Shape { public: virtual double area() { return 0; } }; class Circle : public Shape { public: double radius; override double area() { return 3.14 * radius * radius; } };
在main()
函數中,我們可以使用虛方法調度呼叫這兩個方法:
int main() { // 创建一个圆形对象 Circle circle; circle.radius = 5; // 通过基类指针调用派生类函数 Shape* shape = &circle; double area = shape->area(); std::cout << "Area of the circle: " << area << std::endl; return 0; }
輸出:
Area of the circle: 78.5
以上是C++ 中如何覆寫基底類別函式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!