C++博客
::
首页
::
联系
::
聚合
::
管理
117 Posts :: 2 Stories :: 61 Comments :: 0 Trackbacks
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
(8)
给我留言
查看公开留言
查看私人留言
随笔分类
《Visual C++代码参考与技巧大全》学习笔记(60)
《Visual C++游戏编程基础》学习笔记(22)
《编程之美》学习笔记
《编程珠玑》学习笔记
《算法导论》学习笔记
Android 开发笔记(1)
C++ primer plus学习笔记(22)
C++ Web开发(1)
Linux 学习笔记(3)
操作系统学习笔记(1)
高质量程序设计指南(林锐)学习笔记
计算机组成原理学习笔记
面试笔试题积累
其他(1)
数据结构系列学习笔记
数据库学习笔记
数学系列学习笔记
英语学习积累(6)
随笔档案
2010年7月 (4)
2010年4月 (22)
2010年2月 (43)
2010年1月 (48)
搜索
最新评论
1. re: 如何学习操作系统?——整理篇,非个人感悟
收藏,先把现代操作系统过一遍,有个基本概念后,再来好好学习一番
--星空不远
2. re: 画笔与画刷
我来瞅瞅
--张一一
3. re: 关于Aptana studio工具
验证码不会变。需要刷新网页。
--速度
4. re: Ubuntu(Linux)使用Eclipse搭建C/C++编译环境
是eclipse的版本和cdt不相符,如果用楼主的方法要改上面的网址,根据自己的版本改,一般都不是galileo
--Circle
5. re: Ubuntu(Linux)使用Eclipse搭建C/C++编译环境
@monkeyjun 你google下,我好久没碰了
--烟皑
阅读排行榜
1. Ubuntu(Linux)使用Eclipse搭建C/C++编译环境(59580)
2. 如何学习操作系统?——整理篇,非个人感悟(11489)
3. GDI绘图函数(8035)
4. PreTranslateMessage(6457)
5. 引入lib库到工程中(6002)
评论排行榜
1. Ubuntu(Linux)使用Eclipse搭建C/C++编译环境(17)
2. 这是你应该做的(14)
3. 《Visuanl C++游戏编程基础》学习笔记——索引随笔 (5)
4. GDI绘图函数(3)
5. 千万别study English,应学会learn English——英语学习方法强烈推荐(3)
函数指针
第一个程序
假设要设计一个名为estimate()的函数,估算编写指定行数的代码所需的时间,并且希望不同的程序员都将使用该函数。对于所有的用户来说,estimate()中一部分代码都是相同的,但该函数允许每个程序员提供自己的算法来估算时间。为实现这种目标,采用的机制是,将程序员要使用的算法函数的地址传递给estimate()。必须能够完成下面的工作:1、获取函数的地址。2、声明一个函数指针。3、使用函数指针来调用函数。
下面演示了如何使用函数指针。它两次调用estimate()函数,一次传递betsy()函数的地址,另一次则传递pam()函数的地址。在第一种情况下,estimate()使用betsy()计算所需的小时数;在第二种情况下,estimate()使用pam()进行计算。这种设计有助于今后的程序开发。
#include
"
stdafx.h
"
#include
<
iostream
>
using
namespace
std;
double
betsy(
int
);
double
pam(
int
);
//
second argument is pointer to a type double function that
//
takes a type int argument
void
estimate(
int
lines,
double
(
*
pf)(
int
));
int
main(
int
argc,
char
*
argv[])
{
int
code;
cout
<<
"
How many lines of code do you need?
"
;
cin
>>
code;
cout
<<
"
Here's Betsy's estimate: \n
"
;
estimate(code, betsy);
cout
<<
"
Here's Pam's estimate: \n
"
;
estimate(code,pam);
return
0
;
}
double
betsy(
int
lns)
{
return
0.05
*
lns;
}
double
pam(
int
lns)
{
return
0.03
*
lns
+
0.0004
*
lns
*
lns;
}
void
estimate(
int
lines,
double
(
*
pf)(
int
))
{
cout
<<
lines
<<
"
lines will take
"
;
cout
<<
(
*
pf)(lines)
<<
"
hour(s)\n
"
;
}
posted on 2010-02-12 20:44
烟皑
阅读(318)
评论(0)
编辑
收藏
引用
所属分类:
C++ primer plus学习笔记
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
相关文章:
数组和指针的区别与处理技巧
这是你应该做的
VC6.0中友元函数无法访问类私有成员的解决办法-------VC6.0的bug
C++ primer plus第十一章 使用类的程序
C++ primer plus 关于引用的一些程序
函数指针
函数和string对象
函数和结构
函数和C-style string
函数处理数组问题
网站导航:
博客园
IT新闻
BlogJava
知识库
博问
管理
Copyright @ 烟皑
Powered by:
.Text
and
ASP.NET
Theme by:
.NET Monster