函数复用问题

[复制链接]
 楼主| 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

粉丝
快速回复 在线客服 返回列表 返回顶部

304

主题

2313

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部