PTA 編寫乙個友元函式,求兩個日期之間相差的天數

2021-10-06 11:35:11 字數 1044 閱讀 4172

設計乙個日期類date,包括日期的年份、月份和日號,編寫乙個友元函式,求兩個日期之間相差的天數。該類中設計有3個友元函式;count_day()函式,它有兩個引數,第2個引數是乙個標誌,當其值等於1 時,計算一年的開始到某日期的天數;否則計算某日期到年尾的天數。leap()函式用於判斷指定的年份是否為閏年。subs()函式用於計算兩個日期之間的天數。 當時間輸入不正確時,輸出「time error!」

2000 1 1

2002 10 1

**:

#include

using

namespace std;

class

date

private

:int year, month, day;

friend

intcount_day

(date& da,

int flag)

;friend

bool

leap

(int year)

;friend

intsubs

(date &fir, date &las);}

;bool

leap

(int year)

intcount_day

(date& da,

int flag)

;int judge =

leap

(da.year)

;int sum =0;

if(flag ==1)

else

sum -

= da.day;

}return sum;

}int

subs

(date &fir, date &las)

if(las.year - fir.year >1)

}return sum;

}int

main()

讓兩個類互為友元

原本以為這是一件很簡單的事,自己去試了一下,才發現問題。這是 include using namespace std classpx class pyvoid output const px x friend px class pxvoid output const py y friend py i...

Linux open 乙個函式,兩個函式原型

open 在手冊中有兩個函式原型,如下所示 int open const char pathname,int flags int open const char pathname,int flags,mode t mode 這樣的函式原型有些違背了我們的直覺。c語言是不支援函式過載的,為什麼 ope...

PTA 在乙個陣列中實現兩個堆疊

本題要求在乙個陣列中實現兩個堆疊。函式介面定義 stack createstack int maxsize bool push stack s,elementtype x,int tag elementtype pop stack s,int tag 其中tag是堆疊編號,取1或2 maxsize堆...