早教吧作业答案频道 -->其他-->
用C++类中的继承?声明一个Shape(形状)基类,它有两个派生类:Circle(圆)和Square(正方形),要求:(声明一个Shape(形状)基类,它有两个派生类:Circle(圆)和Square(正方形),要求
题目详情
用C++类中的继承?声明一个Shape(形状)基类,它有两个派生类:Circle(圆)和Square(正方形),要求:(
声明一个Shape(形状)基类,它有两个派生类:Circle(圆)和Square(正方形),要求:(1)根据给出的圆心坐标和半径计算圆的面积;(2)根据给出的正方形中心坐标和一个顶点坐标计算正方形的面积。
求代码?
声明一个Shape(形状)基类,它有两个派生类:Circle(圆)和Square(正方形),要求:(1)根据给出的圆心坐标和半径计算圆的面积;(2)根据给出的正方形中心坐标和一个顶点坐标计算正方形的面积。
求代码?
▼优质解答
答案和解析
#include
#include
const double PI=3.14;
using namespace std;
class Shape
{
public:
Shape(){};
virtual double area()const{return 0.0;}
};
class Circle:public Shape
{
public:
Circle(double myr){R=myr;}
virtual double area(){return PI*R*R;}
protected:
double R;
};
class Square:public Shape
{
public:
Square(double x,double y,double a,double b)
{
X=x;Y=y;
A=a;B=b;
}
virtual double area()
{
L=sqrt((X-A)*(X-A)+(Y-B)*(Y-B));
return (L*L);
}
protected:
double X,Y,A,B,L;
};
void func(Shape &p)
{
cout< }
void main()
{
double k,x,y,m,n;
cout< cin>>k;
Circle c(k);
cout< func(c);
cout< cin>>x>>y>>m>>n;
Square s(x,y,m,n);
cout< func(s);
}
大致的代码就是这样了 可以运行 但是没有仔细检测过
你自己检测下吧 希望对你有帮助
#include
const double PI=3.14;
using namespace std;
class Shape
{
public:
Shape(){};
virtual double area()const{return 0.0;}
};
class Circle:public Shape
{
public:
Circle(double myr){R=myr;}
virtual double area(){return PI*R*R;}
protected:
double R;
};
class Square:public Shape
{
public:
Square(double x,double y,double a,double b)
{
X=x;Y=y;
A=a;B=b;
}
virtual double area()
{
L=sqrt((X-A)*(X-A)+(Y-B)*(Y-B));
return (L*L);
}
protected:
double X,Y,A,B,L;
};
void func(Shape &p)
{
cout<
void main()
{
double k,x,y,m,n;
cout< cin>>k;
Circle c(k);
cout< func(c);
cout< cin>>x>>y>>m>>n;
Square s(x,y,m,n);
cout< func(s);
}
大致的代码就是这样了 可以运行 但是没有仔细检测过
你自己检测下吧 希望对你有帮助
看了 用C++类中的继承?声明一个...的网友还看了以下:
关系代数操作中基于如下的关系R和S。 若结果如下,这是对关系R和S执行了A.R∞SB.R∞SC.R∞ 2020-05-23 …
试题37~39是基于如下的关系R和S,且属性A是关系R的主码,属性B是关系S的主码。 R S 37. 2020-05-23 …
集合R与S的交可以用关系代数的5种基本运算表示为()。A.R-(R×S)B.R-(R-S)C.σF( 2020-05-24 …
A.πA,D(σC=D(R×S))B.πA,R.D(σR.C=S.D(R×S))C.πA,R.D(σ 2020-05-26 …
下列式子中,不正确的是______。A.R-S=R-(R∩S)B.R=(R-S)∪(R∩S)C.R∩ 2020-05-26 …
A.πA,D(σC=D(R×S))B.πA,R.D(σS.C=R.D(R×S))C.πA,R.D(σ 2020-05-26 …
离散数学中的复合关系.因为是自学的,基础不好.有一个看不懂设R是由A={1,2,3,4}到B={2 2020-06-28 …
1.请画图说明数据库系统的三级模式结构.2.已知R、S如图所示,求:R∪S,R∩S,R-S,R×S 2020-07-08 …
将公式(U-V)/R=V/S(R+S≠0)变形成已知U,R,S,求V的形式 2020-08-02 …
R={,,},S={,,},请求出R∪S,R∩S,R-S,dom(R),ran(R),dom(R-S 2020-12-31 …