早教吧作业答案频道 -->其他-->
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...的网友还看了以下:
中国商标网近似查询你好!“源”和“原”两个字的音相同(YUAN),含义区别显著吗?中国商标网近似查 2020-05-14 …
“和合文化”是天台山文化的精髓,我们给出如下定义:若一个四边形中存在相邻两边的平方和等于一条对角线 2020-05-14 …
有X,Y,Z三种元素,X和Y可形成XY和XY2两种化合物;Z与X,Y分别形成XZ4和Z2Y两种化合 2020-05-16 …
甲和乙两人,分别沿0°和180°经线从北极出发,向南同速行进.产生的现象是什么?甲和乙两人,分别沿 2020-06-04 …
1.甲乙两个运输队和运312吨货物,甲运6小时,乙运8小时正好运完.已知甲运输队5小时的运量和乙两 2020-06-24 …
读一读下面的对联,完成练习。坐请坐请上坐茶敬茶敬香茶这副对联为我们生动地刻画了住持的为人。请你用一 2020-06-30 …
科学之电学两个定值电阻R1和R2,已知R1=20欧,和R2=30欧,若把他们串联起来接入电路,通过 2020-07-05 …
已知两点的绝对坐标,如何设置合适比例进行连线呢?已知两点的坐标为A点:x=48973.9,y=70 2020-07-30 …
在直角坐标系xOy中,曲线c1的参数方程为:(θ为参数),把曲线c1上所有点的纵坐标压缩为原来的一 2020-07-31 …
我想造一小船只坐两人,浮力达150公斤即可,小船长为1.75米,宽为0.5米,高应是多少?如果在小船 2020-11-11 …