早教吧作业答案频道 -->其他-->
C++类的继承声明一个Shape(形状)基类,它有两个派生类:Circle(圆)和Square(正方形),要求:(1)根据给出的圆心坐标和半径计算圆的面积;(2)根据给出的正方形中心坐标和一个顶点
题目详情
C++类的继承
声明一个Shape(形状)基类,它有两个派生类:Circle(圆)和Square(正方形),要求:(1)根据给出的圆心坐标和半径计算圆的面积;(2)根据给出的正方形中心坐标和一个顶点坐标计算正方形的面积。
求代码?
声明一个Shape(形状)基类,它有两个派生类:Circle(圆)和Square(正方形),要求:(1)根据给出的圆心坐标和半径计算圆的面积;(2)根据给出的正方形中心坐标和一个顶点坐标计算正方形的面积。
求代码?
▼优质解答
答案和解析
可执行程序,希望对你有帮助
#include
#include
using namespace std;
class Shape
{
public:
Shape(){}
~Shape(){}
//纯虚函数
virtual float GetArea() const=0;
};
class Circle : public Shape
{
public:
Circle(float sz):r(sz)
{}
~Circle(){}
float GetArea()const;
private:
//半径
float r;
};
//圆只用半径就可以计算面积了
float Circle::GetArea()const
{
const float pi=3.1415926f;
return pi*r*r;
}
class Square : public Shape
{
public:
Square(float x1,float y1,float x2,float y2)
{
cx=x1;
cy=y1;
px=x2;
py=y2;
}
~Square(){}
float GetArea()const;
private:
//中心点
float cx;
float cy;
//顶点
float px;
float py;
};
//正方形面积=对角线乘机的一半
float Square::GetArea()const
{
return powf(2*sqrt((cx-px)*(cx-px)+(cy-py)*(cy-py)),2)/2;
}
int main()
{
Circle c(10.0);
Square s(10.0,10.0,4.0,4.0);
cout< cout< return 0;
}
#include
#include
using namespace std;
class Shape
{
public:
Shape(){}
~Shape(){}
//纯虚函数
virtual float GetArea() const=0;
};
class Circle : public Shape
{
public:
Circle(float sz):r(sz)
{}
~Circle(){}
float GetArea()const;
private:
//半径
float r;
};
//圆只用半径就可以计算面积了
float Circle::GetArea()const
{
const float pi=3.1415926f;
return pi*r*r;
}
class Square : public Shape
{
public:
Square(float x1,float y1,float x2,float y2)
{
cx=x1;
cy=y1;
px=x2;
py=y2;
}
~Square(){}
float GetArea()const;
private:
//中心点
float cx;
float cy;
//顶点
float px;
float py;
};
//正方形面积=对角线乘机的一半
float Square::GetArea()const
{
return powf(2*sqrt((cx-px)*(cx-px)+(cy-py)*(cy-py)),2)/2;
}
int main()
{
Circle c(10.0);
Square s(10.0,10.0,4.0,4.0);
cout< cout< return 0;
}
看了 C++类的继承声明一个Sha...的网友还看了以下:
一隧道横截面是抛物线,根据设计相当于三个正方形叠到抛物线内,已知正方形ABCD与正方形GHEF的边长 2020-03-30 …
根据正方形内线段长度求正方形面积P为正方形ABCD内一点,PA=PB=10,并且P点到CD边的距离 2020-04-12 …
多项式f(x)=0求解得根,然后根据根求定义域内值域的加减性的一个图就是求出f(x)=0的根,然后 2020-04-25 …
数学里的lg10怎么读的?求次方求平方根求正弦求余弦求正切求反正切求自然对数求反对数这里面有吗.忘 2020-05-14 …
关于x的方程2x² -(4k+1)x+2k²-1=0⑴有两个不相等的负实数根,求实数根k的范围?⑵ 2020-05-16 …
a和b是方程x余弦+正弦y-c=0的两根,求正弦(a+b) 2020-06-03 …
1.已知五个数据4.5.6.A,B且A,B是方程x方-15x+m=0的根方差是方程x方+x-6=0 2020-06-10 …
根据下列给定的条件求正n边形的边数n(1)已知正n边形的外角等于内角(2)已知正n边形的外角大于内 2020-07-30 …
如图,正比例函数y=kx与反比例函数y=m/x的图像交于A(3,2),B(-3,n)两点1).求正 2020-08-03 …
胡锦涛说:“正确认识国情,按照国情制定路线方针政策和开展工作,是坚持求真务实的根本依据。”坚持全心全 2020-12-26 …