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

帮小弟我看下错在哪?

2012-02-10 
帮我看下错在哪?~~#include iostreamusingnamespacestdclassCon{protected:doubleradiuspublic:Con(do

帮我看下错在哪?~~
#include <iostream>
using   namespace   std;

class   Con
{
protected:
double   radius;
public:
Con(double   radius){Con::radius=radius;)
        virtual   double   volume()=0;
virtual   double   surface_area()=0;
};

class   cube:public   Con
{
public:
cube(double   radius):Con(radius){};
double   surface_area(){return   radius*radius*6;}
double   volume(){return   radius*radius*radius;}
};

class   sphere:public   Con
{
sphere(double   radius):Con(radius){};
double   surface_area(){return   4*3.1416*radius*radius;}
double   volume(){return   3.1416*radius*radius*radius*4/3;}
};

class   cylinder:public   Con
{
double   height;
public:
cylinder(double   radius,double   height):Con(radius)
{
cylinder::height=herght;
}
double   surface_area(){return   2*3.1416*radius*(height+radius);}
double   volume(){return   3.1416*radius*radius*height;}
};

void   main()
{
Con   *p;
cube   obj1(5);
sphere   obj2(5);
cylinder   obj3(5,5);
p=&obj1;
cout < "正方体表面积: " < <p-> surface_area() < <endl;
cout < < "正方体体积: " < <p-> volume() < <endl;
p=&obj2;
cout < "球体表面积: " < <p-> surface_area() < <endl;
cout < < "球体体积: " < <p-> volume() < <endl;
p=&obj3;
cout < "圆柱体表面积: " < <p-> surface_area() < <endl;
cout < < "圆柱体体积: " < <p-> volume() < <endl;
}
~VC提示:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
D:\MyProjects\text\text.cpp(418)   :   error   C2504:   'Con '   :   base   class   undefined
D:\MyProjects\text\text.cpp(426)   :   error   C2504:   'Con '   :   base   class   undefined
D:\MyProjects\text\text.cpp(433)   :   error   C2504:   'Con '   :   base   class   undefined
D:\MyProjects\text\text.cpp(460)   :   fatal   error   C1004:   unexpected   end   of   file   found

[解决办法]
Con(double radius){Con::radius=radius;)
===>
Con(double radius){Con::radius=radius;}

[解决办法]
class Con
{
protected:
double radius;
public:
Con(double radius)
{
Con::radius=radius;
}
virtual double volume()=0;
virtual double surface_area()=0;
};

class cube:public Con
{
public:
cube(double radius):Con(radius)
{
}
double surface_area(){
return radius*radius*6;
}
double volume()
{
return radius*radius*radius;
}
};

class sphere:public Con
{
public:
sphere(double radius):Con(radius)
{

}
double surface_area()
{
return 4*3.1416*radius*radius;
}
double volume()
{
return 3.1416*radius*radius*radius*4/3;
}
};

class cylinder:public Con
{
double height;
public:
cylinder(double radius,double height):Con(radius)
{


cylinder::height=height;
}
double surface_area()
{
return 2*3.1416*radius*(height+radius);
}
double volume()
{
return 3.1416*radius*radius*height;
}
};
int main()
{
Con *p;
cube obj1(5);
sphere obj2(5);
cylinder obj3(5,5);
p=&obj1;
cout < < "正方体表面积: " < <p-> surface_area() < <endl;
cout < < "正方体体积: " < <p-> volume() < <endl;
p=&obj2;
cout < < "球体表面积: " < <p-> surface_area() < <endl;
cout < < "球体体积: " < <p-> volume() < <endl;
p=&obj3;
cout < < "圆柱体表面积: " < <p-> surface_area() < <endl;
cout < < "圆柱体体积: " < <p-> volume() < <endl;

return 0;
}

热点排行