读书人

帮小弟我看下错在哪?

发布时间: 2012-02-10 21:27:42 作者: rapoo

帮我看下错在哪?~~
#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;
}

读书人网 >C++

热点推荐