宣告抽象基類 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 通過虛函式實現多型性...