C 四 多型性與虛函式 輸入輸出流

2021-10-08 07:54:02 字數 1203 閱讀 4540

宣告抽象基類 shape,由它派生出 3 個派生類:circle(圓形)、rectangle(矩形)、********(三角 形),用乙個函式 printarea 分別輸出以上三者的面積,3 個圖形的資料在定義物件時給定。

#include#includeusing namespace std;

class shape

virtual void showname()const = 0;

};class circle :public shape

virtual float printarea() const

virtual void showname()const

protected:

float radius;

};class rectangle :public shape

virtual void showname()const

virtual float printarea() const

protected:

float x, y;

};class ******** :public shape

virtual void showname()const

virtual float printarea() const

protected:

float x, y, z;

};void main()

2.輸入三角形的三邊a, b , c, 計算三角形的面積公式是 s=(a+b+c)/2,area=sqrt[s(s-a)(s-b)(s-c)]

形成三角形的條件是:a+b>c b+c>a,c+a>b編寫程式,輸入a, b , c,檢查a, b , c是否 滿足以上條件,如不滿足,由 cerr 輸出有關出錯資訊。 

#include#include#include #include using namespace std;

void main()

else

}

3.分別遵從以下規則從鍵盤輸入一批數值,要求保留 3 位小數,在輸出時上下行小數點對齊。 ①用控制符控制輸出格式; ②用流成員函式控制輸出格式。  

#include#include#include #include using namespace std;

void main()

C 多型性與虛函式

物件導向程式設計中的多型性是指向不同的物件傳送同乙個訊息,不同物件對應同一訊息產生不同行為。在程式中訊息就是呼叫函式,不同的行為就是指不同的實現方法,即執行不同的函式體。也可以這樣說就是實現了 乙個介面,多種方法 從實現的角度來講,多型可以分為兩類 編譯時的多型性和執行時的多型性。前者是通過靜態聯編...

C 多型性 與 虛函式

1.運算子過載 運算子過載形式 1 過載為類的成員函式 運算子過載函式說明為類的成員函式的格式為 類名 operator 運算子 參數列 如 c1 c2 編譯器將給出的解釋為 c1.operator c2 該運算子過載函式僅僅有乙個引數,所以過載為成員函式時,雙目運算子僅有乙個引數。對於單目運算子,...

C 多型性與虛函式

多型性是物件導向程式設計的關鍵技術之一。利用多型性技術,可以呼叫同乙個函式名的函式,實現完全不同的功能。若程式語言不支援多型性,不能稱為物件導向的語言。在c 中有兩種多型性 1 定義格式 虛函式是乙個類的成員函式,定義格式如下 virtual 返回型別 函式名 參數列 說明 2 通過虛函式實現多型性...