您的位置:首页 > 编程语言 > C语言/C++

函数指针的使用c++代码实例及运行结果

2018-01-27 21:00 239 查看
我们需要编写函数求出a与b之和,c与d之差。

这里我们使用函数指针的方式编写,这样的好处在于当我们下一次如果需要求出a与b之差时,只用改一个参数,而不用重新写函数

c++代码

#include <iostream>

using namespace std;

int sum(int x,int y)
{
return x+y;
}

int sub(int x,int y)
{
return x-y;
}

void functionPoint(int (*p)(int,int),int x,int y)
{
int result;
result=(*p)(x,y);
cout<<result<<endl;
}

int main()
{
int a=1,b=2,c=3,d=4;
cout<<"a="<<a<<" b="<<b<<endl<<"a与b的和为";
functionPoint(sum,a,b);//求a与b的和
//functionPoint(minus,a,b)//如果需要求a与b的差则只用改sum为minus,这是函数指针的好处
cout<<"c="<<c<<" d="<<d<<endl<<"c与d的差为";
functionPoint(sub,c,d);//求c与d的差

return 0;
}


运行结果



使用静态模板类也行

c++代码

#include <iostream>

using namespace std;
//静态模板类,不加static不行,当类型改变时不用改变class
template<class T>

class opt
{
public:
static T sum(T x,T y)//求和
{
return x+y;
}
static T sub(T x,T y)//求差
{
return x-y;
}
};

int main()
{
int a=1,b=2,c=3,d=4,result;
cout<<"a="<<a<<" b="<<b<<endl<<"a与b的和为";
result=opt<int>::sum(a,b);//<int>
cout<<result<<endl;
cout<<"c="<<c<<" d="<<d<<endl<<"c与d的差为";
result=opt<int>::sub(c,d);
cout<<result<<endl;

return 0;
}


运行结果

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: