第六周專案五 友元類

2021-06-30 16:16:33 字數 1086 閱讀 5541

/*

* 檔名稱:test.cpp

* 作 者:劉佳琦

* 完成日期:2023年 4 月 10 日

* 版 本 號:v1.0

* * 問題描述: 定義下面兩個類的成員函式(為體驗友元類,實際上本例並不一定是乙個好的設計,將兩個類的合併為乙個datetime,日期、時間都處理更好)

* 程式輸入:無

* 程式輸出:時間

*/#includeusing namespace std;

int days(int m, int y);

class date; //對date類的提前引用宣告

class time

;class date

;int main( )

return 0;

}//下面定義兩個類中的成員函式,要求不得再增加成員函式

date::date(int m,int d,int y)

void time::display(date &d)

if(minute>=60)

if(hour>=24)

if(a.day>days(a.month,a.year))

if(a.month>12) }

int days(int m, int y) //days函式返回y年m月的天數

; if((y%100==0&&y%4!=0)||(y%400==0))

d[2]=29;

return d[m];

}//注意體會在time的成員函式中可以呼叫date類的私有資料成員

執行結果:

學習心得:

之前寫在紙上的程式在除錯的時候有兩處錯誤,第一date不是time的友元函式,因此,date類不能訪問time類,a.hour報錯,hour直接用就可以。還有if判斷的時候粗心大意,導致輸出結果錯了。

第六周專案五 友元類

問題及 檔名稱 友元類 cpp 作 者 白雲飛 完成日期 2015年4月9日 版 本 號 v1.0 問題描述 定義下面兩個類的成員函式 為體驗友元類,實際上本例並不一定是乙個好的設計,將兩個類的合併為乙個datetime,日期 時間都處理更好 程式輸入 無 程式輸出 時間 include inclu...

第六周 專案五 友元類

問題及 檔名稱 read.cpp 作 者 李楠 完成日期 2015年4月9日 版 本 號 v1.0 問題描述 定義下面兩個類的成員函式 為體驗友元類,實際上本例並不一定是乙個好的設計,將兩個類的合併為乙個datetime,日期 時間都處理更好 程式輸入 略 程式輸出 略 include includ...

第六周專案五 友元類

專案5 友元類 定義下面兩個類的成員函式 為體驗友元類,實際上本例並不一定是乙個好的設計,將兩個類的合併為乙個datetime,日期 時間都處理更好 提示 class date 對date類的提前引用宣告 class time class date int main return 0 下面定義兩個類...