代码/函数重用问题

c_rrb 2014-04-26 05:12:30
struct numBer
{
int y; //年
int m; //月 0-11
int d; //日 1-31
int h, //时 0-23
int min;//分 0-59

numBer(int y, int m, int h, int d,int min)
: y(y), m(m-1),d(d), h(h-1), min(min-1) {}
};
void process(int& pre, int& cur, int index)
{
//若月日时分的值不在标准允许的范围内,则调用本函数递调
//如 h=61 则如此调用 process(y,m,12),其它亦同
//此函数显然不能作为成员函数,应如何设置才能有效改变numBer的数据成员
if(cur < 0)
{
do
{
--pre;
cur += index;
}
while(cur < 0);
return;
}
while(cur > index - 1)
{
++pre;
cur -= index;
}
}

numBer tmp(2000,24,1,12,30); //process(tmp.y,tmp.m,12)?
numBer ppt(1999,12,3,12,69); //process(ppt.h,ppt,min,60)?
//这个处理函数如如何设置?
...全文
104 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
匚匚 2014-04-26
  • 打赏
  • 举报
回复
日就不调用此函数,日比较特殊,需考虑月及年

numBer  tmp(2000,24,1,12,30);
 process(tmp.y,tmp.m,12) ///这样调用实参与形参匹配吗? int date::&  ==> int&

笑梦码侬生 2014-04-26
  • 打赏
  • 举报
回复
你的函数process(int& pre, int& cur, int index)处理分四类,具体为月, 日,时,分。分别是由“12”,“,28,29,30,31“,”24”,“60”。所以你要根据index进行区分。然后分类处理。

65,208

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧