C++问题,求助!紧急!

来源:百度知道 编辑:UC知道 时间:2024/06/15 19:14:29
要设计一个点类、一个正方形类和一个立方体类之间的继承程序,并编写主函数对它们进行测试。 下面是我写的,请各位帮忙改一下。万分感谢!!

#include<iostream.h>
class Point{
public:
Point(int x,int y)
void show()
protected:
int X,Y;
};

class Square:public Point{
public:
Square(int x,int y,int l)
void show()
private:
int length;
};

class Cube:public Square{
public:
Cube (int x,int y,int l,int z)
void show()
private:
int Z,length;
}:

Piont::Piont(int x,int y)
{X=x;
Y=y;
}

void Point::show()
{cout<<"点类:坐标x="<<X<<"y="<<Y;}

Square::Square(int x,int y,int l):Point(x,y)
{length=l;}

void Square::show()
{cout<<"正方形类:中心坐标x="<<X<<"y="<<Y<<"边长="<<l;}

Cube::Cube(int x,int y,int l,int z):Point(x,y)
{length=l;Z=z;}

void C

错误比较多:

1.类内部的函数声明,结尾都忘记加;了
2.Cube类的声明结尾,}后面不是:,应该是;
3.有几个地方的l要改成length
4.Cube的构造函数的初始化列表中,应该调用Square(x,y,l)
5.有两个point写成piont了
6.Cube类又声明了成员length,去掉它
7.Square类里的length成员声明为protected

正确代码如下:
#include<iostream.h>
class Point{
public:
Point(int x,int y);
void show();
protected:
int X,Y;
};

class Square:public Point{
public:
Square(int x,int y,int l);
void show();
protected:
int length;
};

class Cube:public Square{
public:
Cube (int x,int y,int l,int z);
void show();
private:
int Z;
};

Point::Point(int x,int y)
{X=x;
Y=y;
}

void Point::show()
{cout<<"点类:坐标x="<<X<<"y="<<Y;}

Square::Square(int x,int y,int l):Point(x,y)
{length=l;}

void Square::show()
{cout<<"正方形类:中心坐标x="