首頁 考試吧論壇 Exam8視線 考試商城 網絡課程 模擬考試 考友錄 實用文檔 求職招聘 論文下載 | ||
![]() |
2011中考 | 2011高考 | 2012考研 | 考研培訓 | 在職研 | 自學考試 | 成人高考 | 法律碩士 | MBA考試 MPA考試 | 中科院 |
|
![]() |
四六級 | 職稱英語 | 商務英語 | 公共英語 | 托福 | 雅思 | 專四專八 | 口譯筆譯 | 博思 | GRE GMAT 新概念英語 | 成人英語三級 | 申碩英語 | 攻碩英語 | 職稱日語 | 日語學習 | 法語 | 德語 | 韓語 |
|
![]() |
計算機等級考試 | 軟件水平考試 | 職稱計算機 | 微軟認證 | 思科認證 | Oracle認證 | Linux認證 華為認證 | Java認證 |
|
![]() |
公務員 | 報關員 | 銀行從業資格 | 證券從業資格 | 期貨從業資格 | 司法考試 | 法律顧問 | 導游資格 報檢員 | 教師資格 | 社會工作者 | 外銷員 | 國際商務師 | 跟單員 | 單證員 | 物流師 | 價格鑒證師 人力資源 | 管理咨詢師考試 | 秘書資格 | 心理咨詢師考試 | 出版專業資格 | 廣告師職業水平 駕駛員 | 網絡編輯 |
|
![]() |
衛生資格 | 執業醫師 | 執業藥師 | 執業護士 | |
![]() |
會計從業資格考試(會計證) | 經濟師 | 會計職稱 | 注冊會計師 | 審計師 | 注冊稅務師 注冊資產評估師 | 高級會計師 | ACCA | 統計師 | 精算師 | 理財規劃師 | 國際內審師 |
|
![]() |
一級建造師 | 二級建造師 | 造價工程師 | 造價員 | 咨詢工程師 | 監理工程師 | 安全工程師 質量工程師 | 物業管理師 | 招標師 | 結構工程師 | 建筑師 | 房地產估價師 | 土地估價師 | 巖土師 設備監理師 | 房地產經紀人 | 投資項目管理師 | 土地登記代理人 | 環境影響評價師 | 環保工程師 城市規劃師 | 公路監理師 | 公路造價師 | 安全評價師 | 電氣工程師 | 注冊測繪師 | 注冊計量師 |
|
![]() |
繽紛校園 | 實用文檔 | 英語學習 | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲 |
但是有什么用那?
我也在想,后來,我這樣聲明personal類的成員:
class person
{
private:
time birthday;
char sex[10];
char name[20];
public:
……
}
這就是傳說中的組合!我在教材上找了半天,竟然沒找到,還說教材好,好個屁!連組合都沒有!
廢話不說了,這里面的的time類的birthday就被稱為內嵌對象!
構造函數要這樣寫:
person(time b, char s[],char n[]) : birthday(b)
{
sex = s;
name = n;
}
現在改改father類:
class father
{
time birthday;
char secondname[10];
father(time b,char sn[]) : birthday(b)
{
strcpy(secondname,sn);
}
}
還有son類:
class son : father
{
char sex[10];
son(char sn[],char mysex[]) : father(sn) , birthday(b)
{
strcpyu(sex,mysex);
}
}
注意加紅的地方:
son(char sn[],char mysex[]): father(sn), birthday(b)
寫構造函數時,先寫父類,再寫內嵌成員(別問我為什么,我也不知道哪,你可以自己試試不這樣做會怎樣,我沒試過)。
當然兒子一般是不和老爹生日一樣的,這里這樣寫是不合邏輯的。
面向對象最大的優點就是它跟現實世界比較相近:
類,代表了一類事物,數據成員就是這類事物的屬性;函數是他們的功能。任何事物都可以抽象成為類。
比如人,有身高體重,身高體重就可以聲明為數據成員;人會跑,這就相當與函數。
繼承也是自然世界普遍存在的現象:比如學生,老師,白領,都屬于人類,我們亦可以說他們繼承自人這個類;也能說人派生了這些類。(不一定非要老爹派生兒子!)
有些屬性,就比如年齡,也屬于一個類,但年齡派生不出人類,這是我們就可以用組合。被內嵌的類與這個類之間是包含與被包含的關系。
當然,我們完全可以讓人這個類派生自時間類,不會錯。很多時候組合可以被許多其他方法替代,所以組合在c++中不是一塊非常重要的內容,但我還是比較喜歡使用組合,而且了解了解沒壞處,所以單用一晚上寫了這篇日志。其實關鍵是我沒聽到老師講,不是非常重要,但也很重要!
畢竟我們學c++主要是為了學面向對象思想;說到實用,還是學Java和c#好,簡單,很多東西根本就沒有,所以很多東西你永遠不會明白了。
相關推薦:C++備考之如何學習C++與面向對象:類與對象北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |