luqingfei@C++

为中华之崛起而崛起!
兼听则明,偏听则暗。

关于函数指针及函数指针数组的练习

题目:
标准库提供了三角函数sin()、cos()和tan(),这些函数都带有一个double参数,返回一个double值。要使用它们,需要包含标准库头文件<cmath>。编写一个函数calc(),它带有两个参数:一个double值和一个指向三角函数的指针,返回把函数应用于double值的结果。编写一个程序,测试所编写的函数。如果该函数通过了测试,就建立一个函数指针数组,存储这个三个三角函数,并测试它们。

答案:
#include <iostream>
#include 
<cmath>

using std::cout;
using std::endl;

double calc(const double& d, double(*pfun)(double));

void main() {
    
double(*pfun[3])(double= {sin, cos, tan};

    
for (int i=0; i<(sizeof pfun/sizeof pfun[0]); i++)
        cout 
<< calc(2.0, pfun[i]) << endl;
}

double calc(const double& d, double(*pfun)(double)) {
    
return pfun(d);
}

运行结果:
0.909297
-0.416147
-2.18504

posted on 2009-02-13 18:05 luqingfei 阅读(501) 评论(0)  编辑 收藏 引用 所属分类: C++基础


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


导航

<2009年4月>
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789

统计

留言簿(6)

随笔分类(109)

随笔档案(105)

Blogers

Game

Life

NodeJs

Python

Useful Webs

大牛

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜