如何使用函数指针调用类中的函数和普通函数?
声明一个参数为int型、返回值为long型的函数指针;声明类A的一个成员函数指针,其参数为int型,返回值为long型。麻烦看一看错在哪里:
#include<iostream>
using namespace std;
class A
{
public:
long Sum(int k);
private:
int n;
};
A::Sum(int k) //求自然数的前n项和
{
int n;
cout<<"请输入所求前n项和的n:"<<endl;
cin>>n;
k=n;
long sum=0;
for(int i=0;i<n;i++)
sum+=i+1;
cout<<"前"<<n<<"项和="<<sum<<endl;
return sum;
}
long func(int m) //求自然数n的阶乘
{
int S=1;
cout<<"请输入所求阶乘的数m:"<<endl;
cin>>m;
for(int j=2;j<m+1;j++)
S*=j;
cout<<m<<"!="<<S<<endl;
return 0;
}
int main(){
A p_fn2;
long (* p_fn1)(int);
long ( A::*p_fn2)(int);
p_fn1=func;
p_fn2=Sum;
return 0;
}