C++ 虛函數(shù)的詳解及簡單實(shí)例
C++ 虛函數(shù)的詳解
虛函數(shù)的使用和純虛函數(shù)的使用。
虛函數(shù)是在基類定義,然后子類重寫這個函數(shù)后,基類的指針指向子類的對象,可以調(diào)用這個函數(shù),這個函數(shù)同時保留這子類重寫的功能。
純虛函數(shù)是可以不用在基類定義,只需要聲明就可以了,然后因?yàn)槭羌兲摵瘮?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++實(shí)現(xiàn)班級成績管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)班級成績管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-02-02C++實(shí)現(xiàn)LeetCode(71.簡化路徑)
這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(71.簡化路徑),本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07詳解如何在C/C++中測量一個函數(shù)或功能的運(yùn)行時間
本文算是一個比較完整的關(guān)于在 C/C++ 中測量一個函數(shù)或者功能的總結(jié),最后會演示三種方法的對比,文章通過代碼示例給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-12-12C/C++靜態(tài)類和this指針詳解及實(shí)例代碼
這篇文章主要介紹了 C/C++靜態(tài)類和this指針詳解及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2017-02-02Qt圖形圖像開發(fā)之曲線圖表模塊QChart庫讀取/設(shè)置X軸的顯示區(qū)間
這篇文章主要介紹了Qt圖形圖像開發(fā)之曲線圖表模塊QChart庫讀取/設(shè)置X軸的顯示區(qū)間,需要的朋友可以參考下2020-03-03