📄 cjj122.htm
字号:
}<BR>
void
disp()<BR>
{<BR>
cout<<setw(10)<<name<<setw(5)<<deg1<<setw(5)<<deg2<<setw(5)<<deg3<<endl;<BR>
}<BR>
friend void avg(student &s,int
n)<BR>
{<BR>
cout<<setw(10)<<"平均分"<<setw(5)<<s.deg1/n<<setw(5)<<s.deg2/n<<setw(5)<<s.deg3/n<<endl;<BR>
}<BR>};<BR>void main()<BR>{<BR>
student
s1("Li",78,82,86),s2("Zheng",75,62,89);<BR>
student
s3("Ma",89,87,95),s4("Xu",54,78,66),s;<BR>
cout<<"输出结果"<<endl;<BR>
s1.disp();<BR>
s2.disp();<BR>
s3.disp();<BR>
s4.disp();<BR>
s=s1+s2+s3+s4; //
调用重载运算符<BR>
avg(s,4);
//
友元函数求平均分<BR>}<BR>本程序的执行结果如下:<BR>输出结果:<BR>
Li
78
82
86<BR> Zheng
75
62
89<BR>
Ma
89
87
95<BR>
Xu
54
78
66<BR>
平均分
74
77
84<BR><BR>------------------------------------------------------------<BR><BR><FONT
color=#0000ff>题9.在Time类中设计如下重载运算符函数:<BR>
Time
operator+(Time); 返回一时间加上另一时间得到的新时间<BR>
Time
operator-(Time);
返回一时间减去另一时间得到的新时间<BR></FONT>本题程序如下:<BR>#include<iostream.h><BR>class
Time<BR>{<BR> int
hour,minute,second;<BR>
public:<BR>
Time(){}<BR>
Time(int h,int m,int
s)<BR>
{<BR>
hour=h;minute=m;second=s;<BR>
}<BR>
Time(int
h,int m)<BR>
{<BR>
hour=h;minute=m;second=0;<BR>
}<BR>
void sethour(int
h){hour=h;}<BR>
void setminute(int
m){minute=m;}<BR>
void setsecond(int
s){second=s;}<BR>
int gethour(){return
hour;}<BR>
int getminute(){return
minute;}<BR>
int getsecond(){return
second;}<BR>
Time
operator+(Time);<BR>
Time
operator-(Time);<BR>
void
disp()<BR>
{<BR>
cout<<hour<<":"<<minute<<":"<<second<<endl;<BR>
}<BR>};<BR>Time Time::operator+(Time
t)<BR>{<BR> int
carry,hh,mm,ss;<BR> ss=getsecond()+t.getsecond();<BR> if(ss>60)<BR>
{<BR>
ss-=60;<BR>
carry=1; // 进位标记<BR>
}<BR> else
carry=0;<BR>
mm=getminute()+t.getminute()+carry;<BR>
if(mm>60)<BR>
{<BR>
mm-=60;<BR>
carry=1;<BR>
}<BR> else
carry=0;<BR>
hh=gethour()+t.gethour()+carry;<BR>
if(hh>24)<BR>
hh=24;<BR> static Time
result(hh,mm,ss);<BR> return
result;<BR>}<BR>Time Time::operator-(Time
t)<BR>{<BR> int
borrow,hh,mm,ss;<BR>
ss=getsecond()-t.getsecond();<BR>
if(ss<0)<BR>
{<BR>
ss+=60;<BR>
borrow=1; //
借位标记<BR> }<BR>
else borrow=1;<BR>
mm=getminute()-t.getminute()-borrow;<BR>
if(mm<0)<BR>
{<BR>
mm+=60;<BR>
borrow=1;<BR>
}<BR> else
borrow=0;<BR>
hh=gethour()-t.gethour()-borrow;<BR>
if(hh<0)<BR>
hh+=24;<BR> static Time
result(hh,mm,ss);<BR> return
result;<BR>}<BR>void
main()<BR>{<BR> Time
now(2,24,39);<BR> Time
start(17,55);<BR> Time
t1=now-start,t2=now+start;<BR>
cout<<"输出结果:"<<endl;<BR>
cout<<" now: ";
now.disp();<BR>
cout<<" start:";
start.disp();<BR>
cout<<" 相差: ";
t1.disp();<BR>
cout<<" 相加: ";
t2.disp();<BR>}<BR>本程序的执行结果如下:<BR>输出结果:<BR>
now:2:24:39<BR>
start:17:55:0<BR>
相差:8:28:39<BR>
相加:20:19:39<BR><BR>
<BR><BR></TD>
</TR>
</TBODY>
</TABLE>
</TD>
</TR>
<TR>
<TD height=35 width="100%">
<DIV align=center></DIV>
</TD>
</TR>
</TBODY>
</TABLE>
</TD></TR></TBODY>
</TABLE>
</TD></TR></TBODY>
</TABLE>
</TD></TR></TBODY>
</TABLE>
<TABLE align=center border=0 cellPadding=0 cellSpacing=0 width=750>
<TBODY>
<TR>
<TD bgColor=#c1c1c1 height=1></TD>
</TR>
</TBODY>
</TABLE>
<TABLE align=center border=1 cellPadding=0 cellSpacing=1
style="BORDER-COLLAPSE: collapse" width=550>
<TBODY>
<td align=center>
<div align="center">
<p><a href=mailto:jjsun36@sohu.com ><span class="body14black">mailto:jjsun36@sohu.com</span></a><span class="body12red">
热线电话:0523-4864559</span></p>
</div>
</td>
</TBODY>
</TABLE>
</BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -