C++primer plus第六版课后编程题答案7.10
7.10
#include <iostream> using namespace std; double add(double a,double b){return a+b;};//为了简化,这三个函数我直接在这里写了。 double dev(double a,double b){return a-b;}; double mul(double a,double b){return a*b;}; double calculate(double a,double b,double (*pf[])(double x,double y)); void main710() { double (*pf[3])(double,double)={add,dev,mul}; double result=calculate(2.5,4.0,pf); cout<<"\nresult="<<result; system("pause"); } double calculate(double a,double b,double (*pf[])(double x,double y)) { int size=sizeof(pf);//获取里面有多少个函数 cout<<"size="<<size<<endl;//测试到size=4,可能是最后一个‘\0’ cout<<"The result of "<<a<<" and b:"<<endl; double sum=0; for(int i=0;i<size-1;i++) { //cout<<"now i="<<i<<endl; //cout<<"The result of "<<a<<" and b:"<<endl; cout<<pf[i](a,b)<<endl; sum+=pf[i](a,b); } return sum; }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步