繼承與多型

2021-08-08 01:24:32 字數 1312 閱讀 2669

#include 

using

namespace

std;

//宣告類point

class point

//getx是point 類中的常成員函式,可以引用,但不能修改本類的資料成員

float gety() const

friend ostream &operator

<< (ostream &, const point &);//過載<<

protected:

float x, y;

};//定義point類的成員函式

//point 建構函式

point::point(float a, float b)

//設定x\y座標值

void point::setpoint(float a, float b)

//過載<<

ostream& operator

<< (ostream &output, const point &p)

分步除錯

//int main()

//class circle :public point

;//定義建構函式,派生類函式初始化

circle::circle(float a, float b, float r) :point(a, b), radius(r){}

void circle::setradius(float r)

float circle::getradius()const

float circle::area() const

ostream &operator

<<(ostream &output, const circle &c)

//分步除錯

//int main()

//class cylinder:public circle

;cylinder::cylinder(float a, float b, float r, float h) :circle(a, b, r), heigth(h){}

void cylinder::setheight(float h)

float cylinder::getheight() const

float cylinder::area() const

float cylinder::volume() const

ostream &operator

<<(ostream &output, const cylinder & cy)

int main()

繼承與多型

繼承 繼承是c 語言支援 重用及多型的重要機制。通過繼承,可以繼承可以在現有類的基礎上派生出新類,新類將共享現有類的成員,並且還可以新增新的成員。c 語言中,重用主要表現為可以使用現成的類 如.net框架類庫中的類 來定義新類,主要方法有組合和繼承兩種 繼承是物件導向程式設計支援 重用的另乙個重要機...

繼承與多型

虛函式只要在基類裡定義,所以繼承類都不用重新定義為虛函式,自動成為虛函式。虛函式必須有實現,普通成員函式在沒有呼叫時可以沒有實現 定義 class animal 只需要在基類定義函式為虛,子類中不需要新增virtual.smile函式在沒有呼叫時可以不實現。當有函式為虛函式時,析構函式應定義為vir...

繼承與多型

繼承需要符合的關係 is a,父類更通用 子類更具體 子類繼承父類的所有屬性和方法 不包括父類構造方法 super可以呼叫父類的方法和構造方法 子類可以重寫父類的方法 使用多型之後,當需要增加新的子類型別時,無需更改總部類,程式的可擴充套件性及可維護性增強 簡單來說,多型是具有表現多種形態的能力的特...