| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 347 人关注过本帖
标题:书上的列题
只看楼主 加入收藏
modi4031
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2006-5-17
收藏
 问题点数:0 回复次数:3 
书上的列题
#include<iostream.h>
class clock
{
public:
clock(int newH=0,int newM=0,int newS=0);
void showtime();
void operator ++();
void operator ++(int);
private:
int hour,minute,second;
};
clock::clock(int newH,int newM,int newS)
{
if(0<=newH && newH<24 && 0<=newM && newM<60 && 0<=newS && newS<60)
{ hour=newH;
minute=newM;
second=newS;
}
else cout<<"modi shi lao da";

}
void clock::showtime()
{
cout<<hour<<":"<<minute<<":"<<second<<endl;
}
void clock::operator ++()
{
second++;
if(second>=60)
{
second=second-60;
minute++;
if(minute>=60)
{
minute=minute-60;
hour++;
hour=hour%24;
}
}cout<<"clock++:";
}
void clock::operator ++(int)
{
second++;
if(second>=60)
{
second=second-60;
minute++;
if(minute>=60)
{
minute=minute-60;
hour++;
hour=hour%24;
}
}cout<<"++clock:";
}
void main()
{
clock myclock(23,59,59);
cout<<"first time output:";
myclock.showtime();
myclock++;
myclock.showtime();
++myclock;
myclock.showtime();

}接过是23:59:59
0:0:0
0:0:1
那两个重载的“++”函数的函数体一样为什么最后的结果不一样!! 0:0:0
0:0:1

冰天雪地裸体跪求大虾指点迷津!!!....
2006-12-11 23:28
W649897
Rank: 1
等 级:新手上路
帖 子:50
专家分:0
注 册:2006-11-26
收藏
得分:0 

这是C++内部做的技术处理,用参数int来区分前后自增其他就没什么了,

2006-12-13 11:55
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 
23:59:59
myclock++;//过一秒
0:0:0
++myclock;//又过一秒
0:0:1
请问有什么问题吗?难道不应该是这样的吗?

[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-12-13 14:08
modi4031
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2006-5-17
收藏
得分:0 
晕哦,自己想通了
差点没郁闷死!!!
2006-12-16 21:48
快速回复:书上的列题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024796 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved