freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

3c面向?qū)ο蟪绦蛟O(shè)計(jì)(專業(yè)版)

2025-02-16 01:12上一頁面

下一頁面
  

【正文】 ? 編譯器先用 int 替代模板類定義中的類型參數(shù) T,生成一個(gè)所有數(shù)據(jù)類型已確定的類,再利用這個(gè)類聲明對(duì)象; ? 定義類模板時(shí)可以使用多個(gè)類型參數(shù),還可以含有已確定類型的參數(shù); ? 例: template class T1,int i,class T2 class MyTemClass { …… } 聲明: MyTemClass int,100,float MyObject。 } ? 利用非成員函數(shù)重載雙目運(yùn)算符時(shí),運(yùn)算符函數(shù)的第一個(gè)參數(shù)代表運(yùn)算符左邊的操作數(shù),運(yùn)算符函數(shù)的第二個(gè)參數(shù)代表運(yùn)算符右邊的操作數(shù); ? Complex operator+(Complex c1,Complex c2) ? 如果運(yùn)算符函數(shù)要求訪問一個(gè)類的非公有成員,則運(yùn)算符函數(shù)不能定義為非成員函數(shù),除非將它聲明為該類的友元函數(shù); ? P98例 321成員函數(shù)重載運(yùn)算符: class Complex { Complex operator+(Complex)。 pashow()。 //基類指針指向派生類對(duì)象 pb=(B *)pa。 class B:public A { public: void show(){……} }。 void B::fun1(A e) { =10。 C c1。 ? 可以通過類調(diào)用: Person::GetCount()。 ?操作方法如: (); ?假設(shè)我們要做一個(gè)小游戲,類似于網(wǎng)游里面的打怪,為簡(jiǎn)單起見,認(rèn)為怪不打人,只讓人打,他的血不斷減少,直到死亡。 } ? int area (int length, int width) { return length*width。 } void Time::showTime() { couthour‘ :’ minute‘ :’ secondendl。整個(gè)五子棋可以分為: ? 黑白雙方,這兩方的行為是一模一樣的,棋盤系統(tǒng),負(fù)責(zé)繪制畫面, 規(guī)則系統(tǒng),負(fù)責(zé)判定諸如犯規(guī)、輸贏等。 ? 功能上的統(tǒng)一保證了面向?qū)ο笤O(shè)計(jì)的可擴(kuò)展性。 ()。 int perimeter() {return 2*(length+width)。 ?怪物 怪物 3(蛇 , 3000)。 } ? class B { public: void fun1(A) } class A { friend void B::fun1(A)。 B b1。 public: int Geta(){return a}。}。 //對(duì)象 a中不存在 setB() 虛函數(shù) ? 派生類成員函數(shù)和基類成員函數(shù)具有相同的函數(shù)名和參數(shù)類型,派生類的成員函數(shù)將覆蓋基類成員函數(shù); ? 例: class A { void show() …… class B:public A { void show() …… B b。 } ? 開發(fā)程序中,常將基類中功能容易變化的成員函數(shù)設(shè)計(jì)成虛函數(shù),然后根據(jù)需要設(shè)計(jì)派生類的虛函數(shù),實(shí)現(xiàn)“一種接口、多種方法”; 抽象類和純虛函數(shù) ? 我們可以讓基類的一些成員函數(shù)沒有具體的定義,這種基類只能用于類的繼承,其本身不能用來創(chuàng)建對(duì)象,這樣的類稱為抽象類; ? 抽象類只能是基類,它提供了一個(gè)框架,僅僅起著統(tǒng)一接口的作用; ? 不能聲明抽象類的對(duì)象,但可以聲明抽象類的指針; ? 抽象類: 至少有一個(gè)成員函數(shù)不定義具體實(shí)現(xiàn); 定義了一個(gè) protected訪問屬性的構(gòu)造函數(shù)或析構(gòu)函數(shù); ? 不定義具體實(shí)現(xiàn)的成員函數(shù)稱為純虛函數(shù); ? 純虛函數(shù)不能調(diào)用; ? 格式: virtual數(shù)據(jù)類型 成員函數(shù)名 ( 形參表 )=0。 } ? 為了避免這種代碼的重復(fù)編寫, C++提供函數(shù)模板; ? 例: template class T //T是自己定義的類型參數(shù) T abs(T val) { return val0?val:val。 ? 結(jié)果: pb1==NULL pb2!=NULL ? typeid運(yùn)算 ? 輸出類名: typeid(對(duì)象名) .name() ? 比較兩種變量(對(duì)象)類型是否相同: typeid(變量) ? 例: int i=0。 T GetX(){return x。 Box(int,int,int){……}。 ? 在基類對(duì)象中使用虛函數(shù),可以使指向派生類對(duì)象的基類指針調(diào)用派生類中的覆蓋函數(shù)(和基類對(duì)象成員函數(shù)同名); ? 派生類對(duì)象的覆蓋函數(shù)各不相同,但基類對(duì)象的虛函數(shù)機(jī)制,使我們可以通過指向派生類對(duì)象的基類指針調(diào)用同個(gè)函數(shù)名,實(shí)現(xiàn)不同派生類對(duì)象的不同功能,這就是類的多態(tài)性; ? 格式: class A { public : virtual void show(){……}。 ? P86 例 311 GetAB(){ return a+b。 } ? 思考:如果不采用繼承定義 B類? class B:public A { } ? public派生:基類成員訪問權(quán)限不變,可以通過派生類對(duì)象訪問基類公有成員; ? private派生:基類所有成員成為私有成員,只能通過派生類的成員函數(shù)訪問基類非私有成員; ? protected派生:和 private差不多; ? 例 class A { private: int a。 class B { public: void fun1(A) } ? class B { public: void fun1(A)。 } ? 友元類:類 A可以聲明類 B為其友元類,類 B的所有成員函數(shù)都可以訪問 A的所有成員; ? 定義 class C { public: void fun2(A)。 { coutthishour‘ :” thisminute…… } this指針 Time::showTime { Display(this)。 cout()。 Tim
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1