希望c++的入門者們閑暇之余,可以瀏覽思考,有什么問題歡迎留言或者私信,
類的封裝和繼承----NO.2
eg.Time類的框架定義如下,
class Time //宣告Time類
{
public:
Time( int = 0, int = 0, int = 0 ); // 帶默認引數的建構式
// set functions
void setTime( int, int, int ); // 設定hour, minute, second
void setHour( int ); // 設定hour (確保資料在合理范圍)
void setMinute( int ); // 設定minute (確保資料在合理范圍)
void setSecond( int ); // 設定second (確保資料在合理范圍)
// get functions
int getHour(); // 回傳 hour
int getMinute(); // 回傳 minute
int getSecond(); // 回傳 second
void printUniversal(); // 按24小時格式輸出時間:23:56:12
void printStandard(); // 按12小時格式輸出時間:11:56:12 (PM) 或 9:23:55(AM)
private:
int hour; // 0 - 23 (24小時格式)
int minute; // 0 - 59
int second; // 0 - 59
}; // Time類定義結束
(1) 按照注釋的要求完成所有成員函式的定義;
(2) 在主程式中定義Time類物件,通過物件指標或參考呼叫上述成員函式以測驗其正確性,**
#include<iostream>
using namespace std;
class Time //宣告Time類
{
public:
Time( int = 0, int = 0, int = 0 ); // 帶默認引數的建構式
// set functions
void setTime( int, int, int ); // 設定hour, minute, second
void setHour( int ); // 設定hour (確保資料在合理范圍)
void setMinute( int ); // 設定minute (確保資料在合理范圍)
void setSecond( int ); // 設定second (確保資料在合理范圍)
// get functions
int getHour(); // 回傳 hour
int getMinute(); // 回傳 minute
int getSecond(); // 回傳 second
void printUniversal(); // 按24小時格式輸出時間:23:56:12
void printStandard(); // 按12小時格式輸出時間:11:56:12 (PM) 或 9:23:55(AM)
private:
int hour; // 0 - 23 (24小時格式)
int minute; // 0 - 59
int second; // 0 - 59
};
Time::Time(int,int,int)
{
}
int Time::getHour()
{
return hour;
}
int Time::getMinute()
{
return minute;
}
int Time::getSecond()
{
return second;
}
void Time::setTime(int Hour,int Minute,int Second)
{
setHour(Hour);
setMinute(Minute);
setSecond(Second);
}
void Time::setHour(int Hour)
{
hour=Hour;
}
void Time::setMinute(int Minute)
{
minute=Minute;
}
void Time::setSecond(int Second)
{
second=Second;
}
void Time::printUniversal()
{
cout<<getHour()<<":"<<getMinute()<<":"<<getSecond()<<endl;
}
void Time::printStandard()
{
if(hour<=12)
{
cout<<getHour()<<":"<<getMinute()<<":"<<getSecond()<<"(AM)"<<endl;
}
else{
cout<<getHour()-12<<":"<<getMinute()<<":"<<getSecond()<<"(PM)"<<endl;
}
}
int main()
{
Time t1=(0,0,0),t2=(0,0,0);
t1.setTime(10,12,52);
t1.printStandard();
t1.printUniversal();
t2.setTime(15,2,2);
t2.printStandard();
t2.printUniversal();
return 0;
}
運行結果

有問題私聊博主或者在下面留言,如果有更好的解法也請留言,歡迎大家討論,共同進步,一起學習,
“C++是面向物件編程,我也想面向物件編程,”
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/287484.html
標籤:其他
上一篇:MATLAB通信系統建模
