利用虛函式求面積

2021-09-22 20:14:56 字數 1102 閱讀 2955

定義抽象基類shape,由它派生出3個派生類:circle(圓形)、rectangle( 長方形)、和******** (三角形),用虛函式分別計算面積。編寫求面積和函式double totalarea (const vector&),該函式利用基類指標向量,它的每乙個元素指向乙個派生類的圖形物件。編寫測試直譯器,讀入各種圖形資訊,動態生成各種圖形物件,由vector管理。利用求面積虛函式,輸出面積總和,要求正確釋放空間。pi取3.1416。

輸入描述

circle 後跟半徑 rectangle後跟長和寬 ********後跟三條邊

輸出描述

結果保留小數點後4位

樣例輸入

circle 5.2 circle 6.0

rectangle 3.4 2

******** 3 4 5

rectangle 4.4 10

樣例輸出

254.8465

#include#include#include#include#include#define pi 3.1416

using namespace std;

class shape

virtual double getarea() const = 0;

};class circle: public shape

double getarea() const

};class rectangle: public shape

double getarea() const

};class trangle:public shape

double getarea() const

};double totalarea (vectorjojo)//這裡也可以傳遞引用,當時看題目沒看到傳遞引用所以直接傳值了

return sum;

}int main(void)

else if(!strcmp(s, "rectangle"))

else if(!strcmp(s, "********"))

}printf("%.4f", totalarea(jojo));

jojo.clear();

}

C 學習筆記 利用虛函式面積計算

pragma once class shape pragma once include shape.h include using namespace std class circle public shape 對虛函式進行再定義 virtual void printarea const 對虛函式進...

C 利用巨集定義求面積

學過c語言的讀者,對巨集定義應該不陌生,同樣在c 中,也可以用巨集定義命令將乙個指定的識別符號來代表乙個字串,巨集定義的作用一般是用乙個短的名字代表乙個長的字串。一般形式為 define 識別符號 字串 定義pi的符號常量 define pi 3.14 在c 中還可以用 define命令定義帶引數的...

C 利用巨集定義求面積

學過c語言的讀者,對巨集定義應該不陌生,同樣在c 中,也可以用巨集定義命令將乙個指定的識別符號來代表乙個字串,巨集定義的作用一般是用乙個短的名字代表乙個長的字串。一般形式為 define 識別符號 字串 定義pi的符號常量 define pi 3.14 在c 中還可以用 define命令定義帶引數的...