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...