用函数指针调用不同的函数..

来源:百度知道 编辑:UC知道 时间:2024/06/13 23:28:40
#include<iostream.h>
#include<math.h>
double (*pf)(double r);
const double pi=3.14159;

void main()
{

double R,fp,fa,fb,fv;
cout<<"R=";
cin>>R;
pf = circlePerimeter;
fp = pf(R);

pf = circleArea;
fa = pf(R);

pf = bollArea;
fb = pf(R);

pf = bollVolume;
fv = pf(R);
cout<<"circlePerimeter="<<fp<<endl;
cout<<"circleArea="<<fa<<endl;
cout<<"bollArea="<<fb<<endl;
cout<<"bollVolume="<<fv<<endl;

}

double circlePerimeter(double r)
{
return 2*pi*r;
}
double circleArea(double r)
{
return pi*r*r;
}
double bollArea(double r)
{
return 4*pi*r*r;
}
double bollVolume(double r)
{
return 4*pi*r*r*r/3;
}
这样定到底哪里有问

就这点代码来看,你的几个函数似乎缺少在调用前的声明。你没说是什么问题,不好回答,只看出来这一点儿问题。你尝试把这几个函数的定义放在void main()前,或者在void main前写上这几个函数的原型。

你是使用在前定义在后,同意上面的说法