类中用函数指针问题//cannot convert from 'double (__thiscall count::*)(double)' to 'double (__cdecl *)(double)'

eq613 2003-05-27 01:47:14
#include<iostream.h>
#include<math.h>
double m;




class count{


double x0,x1;
char a;
public:

double(*f)(double);

double fn1(double x);
double fn2(double x);

count(void )
{
cout<<" cin the a and x0 and x1\n";
cin>>a>>x0>>x1;
}

void fn(void )
{ double x2;
if(a=='1')
f=fn1;
else
f=fn2;

for(x2=x1-(f(x1)*(x1-x0))/(f(x1)-f(x0));fabs(x2-x1)>1e-5;)
{
cout<<" the x "<<x2<<endl;
x0=x1;
x1=x2;
x2=x1-(f(x1)*(x1-x0))/(f(x1)-f(x0));


}
cout<<" the last x is"<<x2<<endl;
}
};






double count:: fn1(double x)
{
m=x*exp(x)-1;
return m;
}
double count:: fn2(double x)
{
m=x*x*(x-3)-x+9;
return m;
}
void main()


{
count oop;
oop.fn();
}
...全文
81 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
zxm954712 2003-05-27
  • 打赏
  • 举报
回复
#include<iostream.h>
#include<math.h>
double m;




class count{


double x0,x1;
char a;
public:

double (count::*f)(double);

double fn1(double x);
double fn2(double x);

count(void )
{
cout<<" cin the a and x0 and x1\n";
cin>>a>>x0>>x1;
}

void fn(void )
{
double x2;
if(a=='1')
f=&count::fn1;
else
f=&count::fn2;

for(x2=x1-((this->*f)(x1)*(x1-x0))/((this->*f)(x1)-(this->*f)(x0));fabs(x2-x1)>1e-5;)
{
cout<<" the x "<<x2<<endl;
x0=x1;
x1=x2;
x2=x1-((this->*f)(x1)*(x1-x0))/((this->*f)(x1)-(this->*f)(x0));


}
cout<<" the last x is"<<x2<<endl;
}
};






double count:: fn1(double x)
{
m=x*exp(x)-1;
return m;
}
double count:: fn2(double x)
{
m=x*x*(x-3)-x+9;
return m;
}
void main()


{
count oop;
oop.fn();
}

69,381

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧