"<
}
voidSetTime(intH=0,intM=0,intS=0)
{
this->H=H,this->M=M,this->S=S;
}
Clock(intH=0,intM=0,intS=0)
{
this->H=H,this->M=M,this->S=S;
}
intGetH()
{
returnH;
}
intGetM()
{
returnM;
}
intGetS()
{
returnS;
}
};
classTrainTrip
{
private:
char*TrainNo;
ClockStartTime;
ClockEndTime;
public:
TrainTrip(char*TrainNo,ClockS,ClockE)
{
this->TrainNo=TrainNo;
StartTime=S;
EndTime=E;
}
ClockTripTime()
{
inttH,tM,tS;
intcarry=0;
ClocktTime;
(tS=EndTime.GetS()-StartTime.GetS())>0?
carry=0:
tS+=60,carry=1;
(tM=EndTime.GetM()-StartTime.GetM()-carry)>0?
carry=0:
tM+=60,carry=1;
(tH=EndTime.GetH()-StartTime.GetH()-carry)>0?
carry=0:
tH+=24;
tTime.SetTime(tH,tM,tS);
returntTime;
}
};
voidmain()
{
ClockC1(8,10,10),C2(6,1,2);
ClockC3;
TrainTripT1("K16",C1,C2);
C3=T1.TripTime();
C3.ShowTime();
}
运行结果
21:
50:
52
Pressanykeytocontinue
实验八
实验目的
1.掌握类静态成员的定义与使用方法
2.掌握公有派生类的定义与使用方法
1、参考教材p226例7-9,验证类的静态数据成员的共享性。
例7-9使用静态成员维护内存中Student类对象的个数(对象计数器)
#include
usingnamespacestd;
classStudent
{
private:
char*Name;
intNo;
staticintcountS;
public:
staticintGetCount()
{
returncountS;
}
Student(char*="",int=0);
Student(Student&);
~Student();
};
Student:
:
Student(char*Name,intNo)
{
this->Name=newchar[strlen(Name)+1];
strcpy(this->Name,Name);
this->No=No;
++countS;
cout<<"constructing:
"<}
Student:
:
Student(Student&r)
{
Name=newchar[strlen(r.Name)+1];
strcpy(Name,r.Name);
No=r.No;
++countS;
cout<<"copyconstructing:
"<}
Student:
:
~Student()
{
cout<<"destructing:
"<delete[]Name;
--countS;
}
intStudent:
:
countS=0;
voidmain()
{
cout<:
GetCount()<Students1("Antony");///