C++primer plus第六版课后编程题答案7.10

来源:互联网 发布:淘宝卖家投诉电话 编辑:程序博客网 时间:2024/05/21 09:08

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;//这里少了个<<b,请自行加上去----2015.01.20double 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;}


0 0
原创粉丝点击