1、point 应该你自定义的一个 点 类吧,程序中没有 引入 point 的定义,会提示 该类型不存在
2、你这个文件中 类定义完了之后 需要 添加 ; 分号
例:
class point
{
double x;
double y;
} ; //分号
3、你使用了C的标准库函数 数学函数 需要 include 进来 : #jinclude
4、return PI*radius*radius+PI*radius*sqrt(radius*radius+high*high);
这里 你使用了 PI 这个没有定义,需要你进行宏定义 #define PI 3.14159
5、lengzhu::lengzhu(float side, float high){
side=s;
high=h;
amount=m;
}
这个构造方法和你上边 定义的 参数个数不一样,而且 里面的赋值 也有点问题
6、
double polygonarea(point*pvertex,int M){
double area=0;
for(int i=0;i
return area;
}
point *pvertex 这个你参数里面是 指向point 类对象的一个指针, 但是逆函数里面 却用了数组
使用指针 需要 ->.x 这种形式来引用 成员; 你这里应该是个数组 建议将
point *pvertex 改成 point pvertex[]; pvertex[i]x 这个 少了一个 小数点 pvertex[i].x
7、float yuantai::superficialarea(){
return PI(radius1*radius1+radius2*radius2+radius1*line+radius2*line);
}
PI 后面少了一个 * 号吧
8、你有的函数定义的是 float的返回值类型,但是你反悔的时候是 double的 ,编译会提示你 有精度的 损失