从下列的抽象类shape类派生出一个正五边形(regular pentagon)类RPentagon,这个类将正五边形的边长作为私有成员,类中包含初始化这个值的构造函数。
class shape {// 抽象类
public:
virtual double getArea()=0;// 求面积 virtual double getPerimeter()=0; // 求周长
};
计算正五边形的面积公式为: S=a2×25+10×5/4
正五边形类名: RPentagon
裁判测试程序样例:
#include
#include
using namespace std;
class shape {// 抽象类
public:
virtual double getArea()=0;// 求面积
virtual double getPerimeter()=0; // 求周长
};
//你提交的代码将嵌入到这里
int main()
{
double s;
cin>>s;
RPentagon p(s);
cout<
输入样例:
16.8
结尾无空行
输出样例:
485.5875
84
结尾无空行
参考答案:
#include
#include
#include
using namespace std;
class shape {// 抽象类
public:
virtual double getArea()=0;// 求面积
virtual double getPerimeter()=0; // 求周长
};
//你提交的代码将嵌入到这里
class RPentagon: public shape{
private:
double a;//定义边长
public:
RPentagon(double a1)
{
a = a1;
}
double getArea() // 求面积
{
return pow(a,2)*(sqrt(25+10*sqrt(5)))/4;
}
double getPerimeter() // 求周长
{
return 5*a;
}
};
int main()
{
double s;
cin>>s;
RPentagon p(s);
cout<
输入样例:
16.8
结尾无空行
输出样例:
485.5875
84
结尾无空行
参考答案:
#include#include #include using namespace std; class shape {// 抽象类 public: virtual double getArea()=0;// 求面积 virtual double getPerimeter()=0; // 求周长 }; //你提交的代码将嵌入到这里 class RPentagon: public shape{ private: double a;//定义边长 public: RPentagon(double a1) { a = a1; } double getArea() // 求面积 { return pow(a,2)*(sqrt(25+10*sqrt(5)))/4; } double getPerimeter() // 求周长 { return 5*a; } }; int main() { double s; cin>>s; RPentagon p(s); cout<



