[YTU]_2917(Shape系列-3)

送给小亮的Rectangle类已完成,送给小华Circle类还没有完成。Circle类有整型的数据成员color(小强的Shape类中的color可以继续使用,无需新定义),浮点型的数据成员radius,求面积的成员函数area()。但是小聪没有为Circle类写构造函数和成员函数,请帮助小聪完成Circle类。

小强写的Shape类:

class Shape
{
public:
 Shape();
 Shape(int c);
 int getcolor();
 double area();
protected:
 int color;
};
Shape::Shape()
{
 color=0;
}
Shape::Shape(int c)
{
 color=c;
}
int Shape::getcolor()
{
 return color;
}
double Shape::area()
{
 return 10000;
}
小聪的测试函数:
int main()
{
Circle cc=Circle(3,1);
cout<<"Circle color:"<<cc.getcolor()<<endl
<< "Circle radius:"<<cc.getradius()<<endl
<< "Circle area:"<<cc.area()<<endl
<< "Circle price:"<<cc.price()<<endl;
return 0;
}

提示:不用提交全部程序,只提交补充部分(包括头文件和π的定义)。

Input

Output

输出小聪测试的Circle类的各个数据。

Sample Output

Circle color:3
Circle radius:1
Circle area:3.14
Circle price:9.42
class Shape
{
public: 
 Shape();
 Shape(int c);
 int getcolor();
 double area();
protected:
 int color;
};
Shape::Shape()
{
 color=0;
}
Shape::Shape(int c)
{
 color=c;
}
int Shape::getcolor()
{
 return color;
}
double Shape::area()
{
 return 10000;
}
#include <iostream>
#define PI 3.14
using namespace std;
class Circle:public Shape
{
public:
    Circle(int c,float r):Shape(c),radius(r){}
    int getradius();
    float area();
    float price();
private:
    int radius;
};
int Circle::getradius()
{return radius;}
float Circle::area()
{return radius*radius*PI;}
float Circle::price()
{return color*PI;}
int main()
{
Circle cc=Circle(3,1);
cout<<"Circle color:"<<cc.getcolor()<<endl
<<"Circle radius:"<<cc.getradius()<<endl
<<"Circle area:"<<cc.area()<<endl
<<"Circle price:"<<cc.price()<<endl;
return 0;
}

原文地址:https://www.cnblogs.com/sxy201658506207/p/7586312.html