您好,登錄后才能下訂單哦!
這篇文章主要介紹C++中虛函數的用法示例,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
虛函數的使用和純虛函數的使用。
虛函數是在基類定義,然后子類重寫這個函數后,基類的指針指向子類的對象,可以調用這個函數,這個函數同時保留這子類重寫的功能。
純虛函數是可以不用在基類定義,只需要聲明就可以了,然后因為是純虛函數,是不能產生基類的對象,但是可以產生基類的指針。
純虛函數和虛函數最主要的區別在于,純虛函數所在的基類是不能產生對象的,而虛函數的基類是可以產生對象的。
// 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; }
以上是“C++中虛函數的用法示例”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。