Shape系列-3
时间: 1ms 内存:128M
描述:
送给小亮的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;
}提示:不用提交全部程序,只提交补充部分(包括头文件和π的定义)。
输入:
无
输出:
输出小聪测试的Circle类的各个数据。
示例输入:
示例输出:
Circle color:3
Circle radius:1
Circle area:3.14
Circle price:9.42
提示:
参考答案(内存最优[1088]):
#include<stdio.h>
int main()
{
printf("Circle color:3\nCircle radius:1\nCircle area:3.14\nCircle price:9.42\n");
}
参考答案(时间最优[0]):
#include<iostream>
using namespace std;
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;
}
class Circle:public Shape
{
public:
Circle(){}
Circle(int c,double r):Shape(c){radius=r;}
int getcolor()
{
return color;
}
double getradius()
{
return radius;
}
double area()
{
return radius*radius*3.14;
}
double price()
{
return color*area()*1.0;
}
private:
double radius;
};
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;
}
题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。