打印

函数复用问题

[复制链接]
822|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sinadz|  楼主 | 2012-6-12 17:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
公司的员工信息存储在树中,有两个函数:
给公司的每个员工发送email的函数:
void sendEmail(){
//遍历树中的节点,对每一个遍历到的节点,调用以下函数:
sendE(......);
}
计算员工的月薪的函数:
void countMoney(){
//遍历树中的节点,对每一个遍历到的节点,调用以下函数:
count(........);
}
也就是说除了红色部分不同外,以上两个函数的其余遍历树的部分都相同。
现在要问的是怎样把两个函数合并为一个函数。或者怎样减少遍历树的那部分的冗余代码

相关帖子

沙发
无冕之王| | 2012-6-12 18:28 | 只看该作者
typedef void (*fp) (......);

void doWork(fp func) {
  //遍历树中的节点,对每一个遍历到的节点,调用以下函数:
  fp(......);
}

当然前提是sendEmail和countMoney的参数列表得一样

使用特权

评论回复
板凳
dfsa| | 2012-6-12 18:31 | 只看该作者
void Func(bool sendMail)
{
if(sendMail)
  sendE(......);
else  
count(........);
}

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

304

主题

2313

帖子

0

粉丝