C 類的學習2

2021-10-06 06:27:27 字數 3222 閱讀 5432

這個題一開始我就把datetime寫出來了,但是怎麼也不會把nexttime加進去,於是就先寫成了這樣:

#include

using

namespace std;

class

time

time

(int h,

int min,

int s)

void

settime()

intgettimeh()

intgettimem()

intgettimes()

void

showtime()

~time()

};class

date

date

(int y,

int m,

int ri)

void

setdate()

intgetdatey()

intgetdatem()

intgetdated()

void

showdate()

~date()

};class

datetime

datetime

(int y,

int m,

int ri,

int h,

int min,

int s):d

(y, m, ri),t

(h, min, s)

datetime

(datetime &dt)

void

setdatetime()

void

showdatetime()

~datetime()

intgetdatetimes()

intgetdatetimem()

intgetdatetimeh()

intgetdatetimey()

intgetdatetimem()

intgetdatetimed()

};intmain()

}}if(month==12)

}if(month==

1||month==

3||month==

5||month==

7||month==

8||month==

10||month==11)

}if(dt1.

getdatetimem()

==4||dt1.

getdatetimem()

==6||dt1.

getdatetimem()

==9)}

if(month==2)

}else}}

datetime dt2

(year,month,day,hour,minute,secend)

;//next函式部分結束

dt2.

showdatetime()

;return0;

}

很蠢,但我太菜,不過在寫的過程中我知道了該如何在main函式中去呼叫類中私有函式,就是再寫個getdatetime函式,還有如何呼叫其他類裡的函式和值(加friend變友元函式)。

但之後我同學告訴我,這個**的主要思想就是用了變數(main函式中那些int )代替了get()函式,

要把它放到datetime裡的話,就加乙個新的可以直接賦值的set函式就行。

新的**:

#include

using

namespace std;

class

time

time()

time

(int h,

int min,

int s)

void

settime()

intgettimeh()

intgettimem()

intgettimes()

void

showtime()

~time()

};class

date

friend

class

datetime

;date()

date

(int y,

int m,

int ri)

void

setdate()

intgetdatey()

intgetdatem()

intgetdated()

void

showdate()

~date()

};class

datetime

datetime

(int y,

int m,

int ri,

int h,

int min,

int s):d

(y, m, ri),t

(h, min, s)

datetime

(datetime &dt)

void

setdatetime()

void

showdatetime()

~datetime()

void

setdatetime

(int year,

int month,

int day,

int h,

int m,

int s)

//就是這個,這樣就可以在datetime類的next函式裡來用變數,就像普通函式一樣。

void

nexttime()

}}if(month==12)

}if(month==

1||month==

3||month==

5||month==

7||month==

8||month==

10||month==11)

}if(d.getdatem()

==4||d.

getdatem()

==6||d.

getdatem()

==9)}

if(month==2)

}else}}

setdatetime (year,month,day,hour,minute,secend);}

};intmain()

還有其他方法,比如用很多函式來表示next函式(如秒進製寫個函式,分進製再寫…)

C 學習(2)類,物件,類成員

類的三大成員 類的靜態成員與例項成員 使用new操作符建立類的例項引用變數與例項的關係 using system.windows.forms namespace classandinstance 方法 method class program 使用wpf程式演示事件機制 using system.w...

C 學習 類和物件 2

類 class 是c 物件導向程式設計的核心,它是實現抽象型別的工具。類是通過抽象資料型別的方法來實現的一種資料型別。類是對某一類物件的抽象,而物件是某一種類的例項。本文稍微說一下類和物件的基本使用,比較簡單也是最基本的c 基礎。一.類 類的定義有2個部分 宣告部分和實現部分。宣告部分 用來宣告類中...

C 學習 類和物件 2

類 class 是c 物件導向程式設計的核心,它是實現抽象型別的工具。類是通過抽象資料型別的方法來實現的一種資料型別。類是對某一類物件的抽象,而物件是某一種類的例項。本文稍微說一下類和物件的基本使用,比較簡單也是最基本的c 基礎。一.類 類的定義有2個部分 宣告部分和實現部分。宣告部分 用來宣告類中...