[YTU]_2477( C++习题 抽象基类)
生活随笔
收集整理的這篇文章主要介紹了
[YTU]_2477( C++习题 抽象基类)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目描述
編寫一個程序,聲明抽象基類Shape,由它派生出3個派生類: Circle(圓形)、Rectangle(矩形)、Triangle(三角形),用一個函數printArea分別輸出以上三者的面積(結果保留兩位小數),3個圖形的數據在定義對象時給定。
輸入
圓的半徑
矩形的邊長
三角形的底與高
輸出
圓的面積
矩形的面積
三角形的面積
樣例輸入
12.6 4.5 8.4 4.5 8.4樣例輸出
area of circle = 498.76 area of rectangle = 37.80 area of triangle = 18.90#include <iostream> #include <iomanip> using namespace std; class Shape { public:virtual float area()=0; }; class Circle:public Shape { public:Circle(float r):radius(r){}float area() {return radius*radius*3.1415926;} private:float radius; };class Rectangle:public Shape { public:Rectangle(float a1,float b1):chang(a1),kuan(b1){}float area(){return chang*kuan;} private:float chang,kuan; };class Triangle:public Shape { public:Triangle(float d,float g):di(d),gao(g){}float area(){return di*gao*0.5;} private:float di,gao; }; void printArea(Shape &s) {cout<<s.area()<<endl; } int main() {float r,a,b,w,h;cout<<fixed<<setprecision(2);cin>>r;Circle circle(r);cout<<"area of circle = ";printArea(circle);cin>>a>>b;Rectangle rectangle(a,b);cout<<"area of rectangle = ";printArea(rectangle);cin>>w>>h;Triangle triangle(w,h);cout<<"area of triangle = ";printArea(triangle);return 0; }總結
以上是生活随笔為你收集整理的[YTU]_2477( C++习题 抽象基类)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [YTU]_2575( 交通工具信息)
- 下一篇: [YTU]_2638(编程题:多态--动