📄 p7_11.cpp
字号:
/*****************************
* p7_11.cpp *
* 计算火车旅途时间的友元类 *
*****************************/
#include <iostream>
using namespace std;
class TrainTrip; //前向引用声明
class Clock {
private:
int H,M,S;
public:
void ShowTime()
{
cout<<H<<":"<<M<<":"<<S<<endl;
}
void SetTime(int H=0,int M=0,int S=0)
{
this->H=H, this->M=M, this->S=S;
}
Clock(int H=0,int M=0,int S=0)
{
this->H=H, this->M=M, this->S=S;
}
friend class TrainTrip;
};
class TrainTrip {
private:
char *TrainNo; //车次
Clock StartTime; //出发时间
Clock EndTime; //到达时间
public:
TrainTrip(char * TrainNo, Clock S, Clock E)
{
this->TrainNo=TrainNo;
StartTime=S;
EndTime=E;
}
Clock TripTime()
{
int tH,tM,tS; //临时存储小时、分、秒数
int carry=0; //借位
Clock tTime; //临时存储时间
(tS=EndTime.S-StartTime.S)>0?carry=0:tS+=60,carry=1;
(tM=EndTime.M-StartTime.M-carry)>0?carry=0:tM+=60,carry=1;
(tH=EndTime.H-StartTime.H-carry)>0?carry=0:tH+=24;
tTime.SetTime(tH,tM,tS);
return tTime;
}
};
void main()
{
Clock C1(8,10,10), C2(6,1,2); //定义Clock类的对象
Clock C3; //定义Clock类对象,存储结果
TrainTrip T1("K16",C1,C2); //定义TrainTrip对象
C3=T1.TripTime();
C3.ShowTime();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -