一篇文章帶你了解C++面向?qū)ο缶幊?-繼承
C++ 面向?qū)ο缶幊?—— 繼承
"Shape" 基類(lèi)
class Shape { public: Shape() { // 構(gòu)造函數(shù) cout << "Shape -> Constructor" << endl; } ~Shape() { // 析構(gòu)函數(shù) cout << "Shape -> Destructor" << endl; } void Perimeter() { // 求 Shape 周長(zhǎng) cout << "Shape -> Perimeter" << endl; } void Area() { // 求 Shape 面積 cout << "Shape -> Area" << endl; } };
"Circle" 派生類(lèi)
"Circle" 類(lèi)繼承于 “Shape” 類(lèi)
class Circle : public Shape { public: Circle(int radius) :_r(radius) { cout << "Circle -> Constructor" << endl; } ~Circle() { cout << "Circle -> Destructor" << endl; } void Perimeter() { cout << "Circle -> Perimeter : " << 2 * 3.14 * _r << endl; // 圓周率取 3.14 } void Area() { cout << "Circle -> Perimeter : " << 3.14 * _r * _r << endl; // 圓周率取 3.14 } private: int _r; };
"Rectangular" 派生類(lèi)
"Rectangular" 類(lèi)繼承于 “Shape” 類(lèi)
class Rectangular : public Shape { public: Rectangular(int length, int width) :_len(length), _wid(width) { cout << "Rectangular -> Contructor" << endl; } ~Rectangular() { cout << "Rectangular -> Destructor" << endl; } void Perimeter() { cout << "Rectangular -> Perimeter : " << 2 * (_len + _wid) << endl; } void Area() { cout << "Rectangular -> Area : " << _len * _wid << endl; } private: int _len; int _wid; };
"main()" 函數(shù)
int main() { /* 創(chuàng)建 Circle 類(lèi)對(duì)象 cir */ Circle cir(3); cir.Perimeter(); cir.Area(); cout << endl; /* 創(chuàng)建 Rectangle 類(lèi)對(duì)象 rec */ Rectangular rec(2, 3); rec.Perimeter(); rec.Area(); cout << endl; return 0; }
運(yùn)行結(jié)果
1.創(chuàng)建派生類(lèi)對(duì)象 :
基類(lèi)的 Constructor 先執(zhí)行,然后執(zhí)行子類(lèi)的 Constructor
2.析構(gòu)派生類(lèi)對(duì)象 :
派生類(lèi)的 Destructor 先執(zhí)行,然后執(zhí)行基類(lèi)的 Destructor
總結(jié)
本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
C++中形參和實(shí)參的區(qū)別及說(shuō)明
這篇文章主要介紹了C++中形參和實(shí)參的區(qū)別及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02基于C++編寫(xiě)一個(gè)進(jìn)度條的示例代碼
這篇文章主要為大家詳細(xì)介紹了如何利用C++實(shí)現(xiàn)一個(gè)命令行進(jìn)度條,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以了解一下2023-06-06C語(yǔ)言實(shí)現(xiàn)逆波蘭式實(shí)例
這篇文章介紹了C語(yǔ)言實(shí)現(xiàn)逆波蘭式實(shí)例,有需要的朋友可以參考一下2013-09-09C語(yǔ)言 動(dòng)態(tài)分配數(shù)組案例詳解
這篇文章主要介紹了C語(yǔ)言 動(dòng)態(tài)分配數(shù)組案例詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-08-08C++類(lèi)與對(duì)象及構(gòu)造函數(shù)析構(gòu)函數(shù)基礎(chǔ)詳解
這篇文章主要為大家介紹了C++類(lèi)與對(duì)象及構(gòu)造函數(shù)析構(gòu)函數(shù)基礎(chǔ)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04Qt QTreeWidget 樹(shù)形結(jié)構(gòu)實(shí)現(xiàn)代碼
Qt中實(shí)現(xiàn)樹(shù)形結(jié)構(gòu)可以使用QTreeWidget類(lèi),也可以使用QTreeView類(lèi),QTreeWidget繼承自QTreeView類(lèi),接下來(lái)通過(guò)本文給大家介紹Qt QTreeWidget 樹(shù)形結(jié)構(gòu)實(shí)現(xiàn)代碼,需要的朋友可以參考下2021-11-11