[YTU]_2921( Shape系列-7)
生活随笔
收集整理的這篇文章主要介紹了
[YTU]_2921( Shape系列-7)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Description
小強(qiáng)做的Shape類在本次的測(cè)試中出了點(diǎn)狀況,發(fā)現(xiàn)原來是其中的area函數(shù)的問題,請(qǐng)大家根據(jù)題意,幫助小強(qiáng)完成改動(dòng)后的Shape類。 小強(qiáng)寫的各種類 class Rectangle:public Shape{
public:
?Rectangle(int c,double w,double h);
?double getwidth();
?double getheight();
?double area();
?double price();
protected:
?double height;
?double width;
};
Rectangle::Rectangle(int c,double w,double h):Shape(c)
{
?width=w;
?height=h;
}
double Rectangle::getwidth()
{
?return width;
}
double Rectangle::getheight()
{
?return height;
}
double Rectangle::area()
{
?return height*width;
}
double Rectangle::price()
{
?return height*width*color;
}??
class Circle:public Shape
{
public:
?Circle(int c,double r);
?double getradius();
?double area();
?double price();
protected:
?double radius;
};??
Circle::Circle(int c,double r):Shape(c)
{
?radius=r;
}
double Circle::getradius()
{
?return radius;
}
double Circle::area()
{
?return PI*radius*radius;
}
double Circle::price()
{
?return PI*radius*radius*color;
}
class Triangle:? public Shape
{
public:
?Triangle(int c,double b,double h);
?double area();
protected:
?double base,height;
};
Triangle::Triangle(int c,double b,double h):Shape(c)
{
?base=b;height=h;
}
double Triangle::area()
{
?return 0.5*base*height;
}
int main()
{
?Shape *pt[3];
?Rectangle rr(1,1,1);
?Circle cc(2,1);
?Triangle tt(2,1,3);
?pt[0]=&rr;
?pt[1]=&cc;
?pt[2]=&tt;
?cout<<"Rectangle area:"<<pt[0]->area()<<endl;
?cout<<"Circle area:"<<pt[1]->area()<<endl;
?cout<<"Triangle area:"<<pt[2]->area()<<endl;
return 0;?
}
提示:不用提交全部程序,只提交補(bǔ)充部分(包括頭文件和π的定義)。
Input
無
Output
小強(qiáng)測(cè)試的各個(gè)類面積的數(shù)據(jù)
Sample Output
Rectangle area:1 Circle area:3.14 Triangle area:1.5#include <iostream> #define PI 3.14 using namespace std; class Shape { public:Shape(int c);virtual double area()=0; protected:double color; }; Shape::Shape(int c){color=c;} class Rectangle:public Shape { public: Rectangle(int c,double w,double h); double getwidth(); double getheight(); double area(); double price(); protected: double height; double width; }; Rectangle::Rectangle(int c,double w,double h):Shape(c) { width=w; height=h; } double Rectangle::getwidth() { return width; } double Rectangle::getheight() { return height; } double Rectangle::area() { return height*width; } double Rectangle::price() { return height*width*color; } class Circle:public Shape { public: Circle(int c,double r); double getradius(); double area(); double price(); protected: double radius; }; Circle::Circle(int c,double r):Shape(c) { radius=r; } double Circle::getradius() { return radius; } double Circle::area() { return PI*radius*radius; } double Circle::price() { return PI*radius*radius*color; } class Triangle: public Shape { public:Triangle(int c,double b,double h);double area(); protected:double base,height; }; Triangle::Triangle(int c,double b,double h):Shape(c) {base=b;height=h; } double Triangle::area() {return 0.5*base*height; }int main() { Shape *pt[3];Rectangle rr(1,1,1);Circle cc(2,1);Triangle tt(2,1,3);pt[0]=&rr;pt[1]=&cc;pt[2]=&tt;cout<<"Rectangle area:"<<pt[0]->area()<<endl;cout<<"Circle area:"<<pt[1]->area()<<endl;cout<<"Triangle area:"<<pt[2]->area()<<endl; return 0; }總結(jié)
以上是生活随笔為你收集整理的[YTU]_2921( Shape系列-7)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [YTU]_2920( Shape系列-
- 下一篇: [YTU]_2922(Shape系列-8