静态成员应用 -电脑资料

电脑资料 时间:2019-01-01 我要投稿
【www.unjs.com - 电脑资料】

    设计含有静态数据成员和成员函数的Time类,

静态成员应用

。静态数据成员是类中所有的对象共有的数据,在下面的设计中,时钟要采用12小时制,还是要使用24小时制,显示时,不足两位的数字前是否前导0,都是“影响全局”的设置,适合作为类中的静态数据成员。

   

class Time{public:	Time(int=0,int=0,int=0);	void show_time( ); //根据is_24和from0,输出适合形式-20:23:5/8:23:5 pm/08:23:05 pm	void add_seconds(int); //增加n秒钟	void add_minutes(int); //增加n分钟  	void add_hours(int); //增加n小时  	static void change24();  //改变静态成员is_24,在12和24时制之间转换	static void changefrom0();   //改变静态成员from0,切换是否前导0 private:	static bool is_24; //为true时,24小时制,如20:23:5;为flase,12小时制,显示为8:23:5 pm 	static bool from0; //为true时,前导0,8:23:5显示为08:23:05	int hour;	int minute;	int sec;};//下面写出静态成员的初始化及各成员函数的定义……int main( ) {  }
#include<iostream>using namespace std;class Time{public:	Time(int=0,int=0,int=0);	void show_time( ); //根据is_24和from0,输出适合形式的时间:23:5/8:23:5 pm/08:23:05 pm	void add_seconds(int); //增加n秒钟	void add_minutes(int); //增加n分钟 	void add_hours(int); //增加n小时 	static void change24();  //改变静态成员is_24,在和时制之间转换	static void changefrom0();   //改变静态成员from0,转换是否前导private:	static bool is_24; //为true时,小时制,如:23:5;为flase,小时制,显示为:23:5 pm	static bool from0; //为true时,前导,:23:5显示为:23:05	int hour;	int minute;	int sec;};bool Time::is_24=true;bool Time::from0=false;Time::Time(int h,int m,int s): hour(h), minute(m), sec(s){}void Time::show_time( )     {	int h=(is_24)?hour:hour%12;  //这种写法比下面注释掉的写法更简洁	//if(is_24) 	//	h=hour;	//else 	//	h=hour%12;	if (h<10&&from0) cout<<'0';	cout<<h<<':'; hour="">12)?  pm: am);		//if (hour>12)		//	cout<< pm;		//else		//	cout<< am;	cout<<endl; if="" int="" sec="" void="">59)     	{  		add_minutes(sec/60);    		sec%=60;        	}  }  void Time::add_minutes(int n) //增加n分钟 {  	minute+=n;  	if (minute>59)   	{  		add_hours(minute/60);  		minute%=60;  	}  }  void Time::add_hours(int n) //增加n小时 {  	hour+=n;  	if (hour>23)  		hour%=24;       }  void Time::change24(){	is_24=!is_24;}void Time::changefrom0(){	from0=!from0;}int main( )   {	Time t1(23,14,25),t2(8,45,6); 	cout<<24时制, 不前导:<<endl; pre="" return="">运行结果:</p><p>    <img alt="\" src="http://img2.shangxueba.com/img/uploadfile/20150409/16/B4CEC55C2080943BD712020173A3F613.png" /></p></endl;></endl;></h<<':';></iostream>

最新文章