- 1、本文档共31页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
建立靜態資料成員
建立靜態資料成員 關鍵字:static 靜態資料成員不屬於特定物件,而是該類物件所共同擁有的,可做為類別範圍裡的靜態變數。 宣告靜態資料成員語法 static 資料型別 資料成員名稱; 注意:靜態資料不屬於特定物件,所以靜態資料的初值無法利用建構子來設定 ?靜態資料成員的初值設定,將在類別的宣告外,利用::來完成初值設定 資料型別 類別名稱::資料成員名稱 = 初值; 靜態資料成員的存取 存取靜態資料成員的語法如下: 類別名稱::靜態資料成員名單 一個班級裡學生的例子 學生類別的靜態資料: (1)姓名 (2)學號 (3)數學成績 (4)英文成績 (5)班級人數 靜態資料 相同班級的學生,所擁有的班級人數都是相同的,所以這類別共同擁有的資料可以設為靜態資料 所以學生人數可以設為靜態資料 靜態成員函數 宣告靜態成員函數,與宣告一般函式相同,只要在宣告函式前,加上static 靜態函式的呼叫 類別名稱::靜態成員函數名稱(輸入參數) Ps:靜態函數中只能修改靜態資料,不能修改一般資料程員 繼承 基礎類別(Base class) :哺乳類是貓、狗類別的基礎類別 衍生類別(Derived class) :貓、狗類別是繼承哺乳類的衍生類別 便於管理系統中的物件 系統的擴充更加容易 程式碼的再用 基礎類別(Base class) :人 衍生類別(Derived class) :學生、社會人士 類別屬性資料的繼承 基礎類別(Base class) :動物 衍生類別(Derived class) :魚、鳥 類別方法的繼承 繼承機制 繼承權限的等級:public, protected, private class 衍生類別 : 繼承權限 基礎類別 public 繼承 class animal { private: void sleep(); protected: void eat(); public: void breathe(); }; void animal::breathe(){cout“Breathe…”endl;} void animal::eat(){cout“Eat…”endl;} void animal::sleep(){cout“Sleep…”endl;} class bird : public animal{ public: void fly(); }; void bird::fly(){cout“Fly……”endl;} Public繼承後的情形 class bird : public animal{ public: void fly(); }; int main() { bird Little_bird; Little_bird.fly(); ?可以執行,因為fly為bird類別的public等級 Little_bird.breathe(); ?可以執行,因為bird是利用public 方式繼承animal而且breathe在animal中是public等級 Little_bird.eat(); ?不可以執行,因為bird利用public方式繼承 animal而eat在animal中是protected等級,所以不行直接執行 (要另外用一個public等級的方法來使用eat()方法。 Little_bird.sleep();?絕對不能執行,因為sleep在animal中是 private等級。 } class bird : public animal{ public: void fly(); void eat(); }; void bird::fly(){cout“Fly……”endl;} void bird::eat(){animal::eat();} 存取基礎類別的成員 想在衍生類別的成員函數中,存取基礎類別內同名的成員,可以利用::,語法如下 基礎類別名稱::資料成員 void bird::eat(){animal::eat();} private 繼承 class animal { private: void sleep(); protected: void eat(); public: void breathe(); }; void animal::breathe(){cout“Breathe…”endl;} void animal::eat(){cout“Eat…”endl;} v
文档评论(0)