如何使用函数指针调用类中的函数和普通函数

声明一个参数为int型、返回值为long型的函数指针;声明类A的一个成员函数指针,其参数为int型,返回值为long型。


#include
using namespace std;

class A   //定义类A
{
public:
    long Sum(int n)//求自然数的前n项和
        {
        long sum=0;
        for(int i=0;i
            sum+=i+1;
        cout<<"1+2+...+"<
        return sum;
    }
private:
    int n;
};     

long func(int m)  //求自然数m的阶乘
{
    long S=1;
    for(int j=2;j
        S*=j;
    cout<
    return S;
}

int main(){
    A a;     //定义类A的对象a
    long (* p_fn1)(int);   //定义指向普通函数的指针
    long (A::*p_fn2)(int)=&A::Sum;  //定义指向类成员函数的指针
    p_fn1=func;
    long S=p_fn1(5);
    a.Sum(5);
    (a.*p_fn2)(5);
    return 0;
}

请使用浏览器的分享功能分享到微信等