C++ 虛函數(shù)的詳解及簡單實例
C++ 虛函數(shù)的詳解
虛函數(shù)的使用和純虛函數(shù)的使用。
虛函數(shù)是在基類定義,然后子類重寫這個函數(shù)后,基類的指針指向子類的對象,可以調(diào)用這個函數(shù),這個函數(shù)同時保留這子類重寫的功能。
純虛函數(shù)是可以不用在基類定義,只需要聲明就可以了,然后因為是純虛函數(shù),是不能產(chǎn)生基類的對象,但是可以產(chǎn)生基類的指針。
純虛函數(shù)和虛函數(shù)最主要的區(qū)別在于,純虛函數(shù)所在的基類是不能產(chǎn)生對象的,而虛函數(shù)的基類是可以產(chǎn)生對象的。
// pointers to base class #include <iostream> using namespace std; class Polygon { protected: int width, height; public: void set_values (int a, int b) { width=a; height=b; } virtual int area(){ return 0; } }; class Rectangle: public Polygon { public: int area() { return width*height; } }; class Triangle: public Polygon { public: int area() { return width*height/2; } }; int main(){ Polygon *p1,*p2; Rectangle rec; Triangle tri; p1 = &rec; p2 = &tri; p1->set_values(1,2); p2->set_values(2,4); cout << rec.area() << endl; cout << tri.area() << endl; cout << p1->area() << endl; cout << p2->area() << endl; return 0; }
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
詳解如何在C/C++中測量一個函數(shù)或功能的運行時間
本文算是一個比較完整的關(guān)于在 C/C++ 中測量一個函數(shù)或者功能的總結(jié),最后會演示三種方法的對比,文章通過代碼示例給大家介紹的非常詳細,需要的朋友可以參考下2023-12-12Qt圖形圖像開發(fā)之曲線圖表模塊QChart庫讀取/設(shè)置X軸的顯示區(qū)間
這篇文章主要介紹了Qt圖形圖像開發(fā)之曲線圖表模塊QChart庫讀取/設(shè)置X軸的顯示區(qū)間,需要的朋友可以參考下2020-03-03