[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.42class 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; }