定義抽象基類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命令定義帶引數的...