首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

* ,这个程序错到那了啊如何编译不出来

2012-03-30 
*********在线等 ,这个程序错到那了啊,怎么编译不出来啊#includeiostream.hclassshape{private:doublex

*********在线等 ,这个程序错到那了啊,怎么编译不出来啊
#include   <iostream.h>
class   shape
{private:
      double   x;
      double   y;
      double   z;
public:
shape(double   a,double   b,double   c)
{x=a;
  y=b;
  z=c;
  virtual   void   area()=0;
};
class   circle:public   shape
{public:
circle   (double   a):shape(a,a,a)
{}
void   area()
{cout < < "球的体积 " < <3/4*3.14*a*a*a < <endl;};
class   triangle:   public   shape
{public:
                triangle(double   a,double   b):shape(a,b)
{}
                void     area()
{cout < < "圆柱体的体积 " < <3.14*a*a*b < <endl;};
class   square:public   shape
{public:
            square   (double   a):shape(a)
            {}
    void   area()
    {cout < < "正方体的体积 " < <a*a*a < <endl;};
class     chf:public   shape
{public:
    chf   (double   a,double   b,double   c):shape(a,b,c)
    {}
    void   area()
    {cout < < "长方体的体积 " < <a*b*c < <endl;};
void   main()
{shape   *p;
circle   c(3);
triangle   t(4,6);
square   s(9);
chf   r(4,5,4);
p=&c;
p-> area();
p=&t;
p-> area();
p=&s;
p-> area();
p=&r;
p-> area();
}


[解决办法]
哦。错的实在有点多。

#include <iostream>
using namespace std;

class shape {

protected:
double x_;
double y_;
double z_;
public:
shape(double a,
double b,
double c)
: x_(a),
y_(b),
z_(c) { }
virtual void area()=0;
};

class circle:public shape
{
public:
circle(double a)
:shape(a, a, a) { }

virtual void area() {
cout < < "球的体积 " < <3/4*3.14*x_*y_*z_ < <endl;
}
};

class triangle: public shape
{
public:
triangle(double a, double b)
: shape(a, a, b /*原,少一个实参*/) // ???
{ }

virtual void area() {
cout < < "圆柱体的体积 " < <3.14*x_*y_*z_ < <endl;
}
};

class square:public shape
{
public:
square (double a) : shape(a, a, a) // 不对吧,base class 要求3个参数啊
{ }

virtual void area() {
cout < < "正方体的体积 " < <x_*y_*z_ < <endl;
}
}; // 汗,怎么总缺这个括号和;

class chf : public shape
{
public:
chf (double a,double b,double c):shape(a,b,c)
{}
virtual void area()
{cout < < "长方体的体积 " < <x_*y_*z_ < <endl;}
};

void main() {
shape *p;
circle c(3);
triangle t(4,6);
square s(9);
chf r(4,5,4);
p=&c;
p-> area();
p=&t;
p-> area();
p=&s;
p-> area();
p=&r;
p-> area();
}

热点排行