C 根據復合實現出 有乙個 或 根據某物實現出

2021-08-17 20:05:06 字數 1120 閱讀 4121

20180326 c++ 根據復合實現出 有乙個 或 根據某物實現出

20180326 c++ 根據復合實現出"有乙個"或"根據某物實現出"

復合:復合是型別間的一種關係,當某種型別的物件裡含有別種型別的物件,這就是復合關係,eg:

class address;//某人的位址

class phonenumber;

class person;

復合有許多同義詞:分層(laying),內含(containment),聚合(aggregtion),內嵌(embeding)。

復合有兩個含義:

(1) 意味 有乙個(has-a)的意思;

(2) 意味著 根據某物實現出(is-implemented-in-terms-of)的意思。

程式中的物件其實相當於世界中的某些事物,如人、汽車等。這樣的物件屬於應用域部分,其他物件則純粹的是實現細節上的人工製品,像是緩衝區( buffers),互斥器(mutexes),查詢樹(search trees)等,這些物件相當於你的軟體中的實現域,當復合發生於應用域中的物件時,表現為 有一種 的關係;當他發生於實現域內則表現出根據某物實現出的意思。

上述中的persn類示範 has-a的關係,即person有乙個名稱,有乙個位址、有語音和傳真兩筆**號碼。

根據某物實現出 示例:

需要乙個template,希望製造出一組classes用來表示由不重複物件組成的sets:

由於兩個類並非is-a的關係(list類和set類),所以公有繼承不適合用來表示他們,正確 的做法是,set物件可根據乙個list物件實現出來:

template//將list應用於set

class set;

set成員函式可大量依賴list及標準程式庫其他部分提供的機能來完成,所以實現起來也很簡單,只要你熟悉stl程式設計就行:

template

bool set::member(const t& item) const

template

void set::insert(constt& item)

template

void set::remove(const t& item)

template

std::size_t set::size() const

C 實現乙個日期類

include using namespace std class date public bool is invalid date 判斷日期是否無效 return false public int day in month if is leap year return days month pub...

C 實現乙個Date類

關於日期類,我們最基本的成員變數就是三個 年 月 日。關於成員函式我們要實現構造,拷貝構造,賦值,關於日期的比較大小,以及日期加天數,日期減天數,以及 和 同時還要考慮能否復用,日期減日期,還有日期類的 和 分為前置和後置 等。具體 如下 詳情請看 注釋 date.h pragma once inc...

C 實現乙個DateTime集合

題目 定義乙個集合,型別為時間型別。要求集合內容為從今天開始按索引加一天的公升序排序 累加的天數為10天 新建控制台應用程式輸出剛剛的集合到前台並格式化日期為 2019 xx xx 判斷如果日期 day為偶數,則通過報錯的方法輸出到控制台上,並不影響接下去的輸出。錯誤內容為 當天為偶數字,日期 20...