//已定义一个Shape抽象类,在此基础上派生出矩形Rectangle和圆形Circle类,二者都有//GetPerim()函数计算对象的周长,并编写测试main()函数.//(这是我自己编的,初学学得不好,我想知道错在哪里
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/29 01:26:06
![//已定义一个Shape抽象类,在此基础上派生出矩形Rectangle和圆形Circle类,二者都有//GetPerim()函数计算对象的周长,并编写测试main()函数.//(这是我自己编的,初学学得不好,我想知道错在哪里](/uploads/image/z/1995082-34-2.jpg?t=%2F%2F%E5%B7%B2%E5%AE%9A%E4%B9%89%E4%B8%80%E4%B8%AAShape%E6%8A%BD%E8%B1%A1%E7%B1%BB%2C%E5%9C%A8%E6%AD%A4%E5%9F%BA%E7%A1%80%E4%B8%8A%E6%B4%BE%E7%94%9F%E5%87%BA%E7%9F%A9%E5%BD%A2Rectangle%E5%92%8C%E5%9C%86%E5%BD%A2Circle%E7%B1%BB%2C%E4%BA%8C%E8%80%85%E9%83%BD%E6%9C%89%2F%2FGetPerim%EF%BC%88%EF%BC%89%E5%87%BD%E6%95%B0%E8%AE%A1%E7%AE%97%E5%AF%B9%E8%B1%A1%E7%9A%84%E5%91%A8%E9%95%BF%2C%E5%B9%B6%E7%BC%96%E5%86%99%E6%B5%8B%E8%AF%95main%EF%BC%88%EF%BC%89%E5%87%BD%E6%95%B0.%2F%2F%EF%BC%88%E8%BF%99%E6%98%AF%E6%88%91%E8%87%AA%E5%B7%B1%E7%BC%96%E7%9A%84%2C%E5%88%9D%E5%AD%A6%E5%AD%A6%E5%BE%97%E4%B8%8D%E5%A5%BD%2C%E6%88%91%E6%83%B3%E7%9F%A5%E9%81%93%E9%94%99%E5%9C%A8%E5%93%AA%E9%87%8C)
//已定义一个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类型数据写法也要改下.基本就是这些了.