//已定义一个Shape抽象类,在此基础上派生出矩形Rectangle和圆形Circle类,二者都有//GetPerim()函数计算对象的周长,并编写测试main()函数.//(这是我自己编的,初学学得不好,我想知道错在哪里

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/02 00:45:23

//已定义一个Shape抽象类,在此基础上派生出矩形Rectangle和圆形Circle类,二者都有//GetPerim()函数计算对象的周长,并编写测试main()函数.//(这是我自己编的,初学学得不好,我想知道错在哪里
//已定义一个Shape抽象类,在此基础上派生出矩形Rectangle和圆形Circle类,二者都有
//GetPerim()函数计算对象的周长,并编写测试main()函数.
//(这是我自己编的,初学学得不好,我想知道错在哪里了)求高手
class Shape
{public:
Shape(){}
Shape(){
float GetPerim()=0;
};
class Rectangle:public Shape
{
public:
\x09float GetPerim(float x,float y)
\x09{
\x09return 2*(x+y);
\x09}
private:
\x09float zou;
};
class Circle:public Shape
{
public:
\x09float GetPerim(float r)
\x09{
\x09
\x09 return 3.14*2*r;
\x09}
private:
\x09float r;
};
void main(){
\x09Rectangle A;
\x09A.GetPerim(3.0,4.0);
\x09Circle B;
\x09B.GetPerim(5.0);
}

//已定义一个Shape抽象类,在此基础上派生出矩形Rectangle和圆形Circle类,二者都有//GetPerim()函数计算对象的周长,并编写测试main()函数.//(这是我自己编的,初学学得不好,我想知道错在哪里
abstract class Shape
{public Shape(){}
public float GetPerim(){return 0;}
}
class Rectangle extends Shape
{
private float x=0,y=0;
public Rectangle(float x,float y){
this.x=x;
this.y=y;
}
public float GetPerim()
\x09{
\x09return 2*(x+y);
\x09}
}
class Circle extends Shape
{
private float r;
public Circle(float r){
this.r=r;
}
public float GetPerim()
\x09{
\x09
\x09 return 3.14f*2*r;
\x09}
}
public class jicheng{
public static void main(String[] args){
\x09Rectangle A=new Rectangle(3f,4f);
\x09System.out.println(A.GetPerim());
\x09Circle B=new Circle(5f);
\x09System.out.println(B.GetPerim());
}
}
错误很多,属性和方法的定义形式完全是C++的.学java推荐先多看些java程序范例.还有就是没有定义主类,主函数要包含在主类中.主函数定义方法也不对.float类型数据写法也要改下.基本就是这些了.