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

正文內(nèi)容

第六章類和對象-資料下載頁

2025-07-21 00:27本頁面
  

【正文】 () {cout大象食物 :草 .\n。} }。 void f(Animal *p)//形參數(shù)基類指針 {pcharacter()。 pfood()。 } void main() {Giraffe g。 f(amp。g)。 //實參為派生類對象的地址 Elephant e。 f(amp。e)。 //實參為派生類對象的地址 } 觀察運行結(jié)果 void f(Animal amp。p)//形參為基類 對象的引用 {()。 ()。 } void main() {Giraffe g。 f(g)。//實參為派生類對象 Elephant e。 f(e)。 //實參為派生類對象 } void f(Animal p)//形參為基類 對象 {()。 ()。 } void main() {Giraffe g。 f(g)。//實參為派生類對象 Elephant e。 f(e)。 //實參為派生類對象 } 若將程序的相應部分修改為如下兩種形式,再觀察運行結(jié)果 從上述程序中可見: 只有當虛函數(shù)操作的是指向?qū)ο蟮闹羔樆蚴菍ο蟮囊脮r ,對該虛函數(shù)調(diào)用采取的才是動態(tài)聯(lián)編 。 虛函數(shù)使用說明: ?派生類中的虛函數(shù)應與基類中的虛函數(shù)具有相同的名稱 、 參數(shù)個數(shù)及參數(shù)類型 。 ? 可以只將基類中的成員函數(shù)顯式地說明為虛函數(shù) , 而派生類中的同名函數(shù)也隱含為虛函數(shù) 。 是一種沒有函數(shù)體特殊的虛函數(shù),當在基類中不能對虛函數(shù)給出有意義的實現(xiàn),而將其說明為純虛函數(shù),它的實現(xiàn)留給派生類去做。 格式: 抽象類 virtual 類型 函數(shù)名 (參數(shù)表 )=0; 2. 抽象類 是帶有純虛函數(shù)的特殊類,主要作用是將有關(guān)的子類組織在一個繼承層次結(jié)構(gòu)中,由它來為它們提供一個公共的根。 ?只能用作其它類的基類, 不能建立抽象類對象 ?可說明抽象類 指針和引用 ,指向其 派生類 ,進而實現(xiàn)多態(tài)性。 ?不能用作參數(shù)類型、函數(shù)返回類型或強制轉(zhuǎn)換的類型。 [例 ]抽象類示例程序 include include class base {protected: int x,y。 public: virtual void setx(int i,int j=0) {x=i。 y=j。} virtual void disp()=0。 }。 class square: public base {public: void disp() { coutx*xendl。 } }。 class cube: public base {public: void disp() { coutx*x*xendl。 } }。 class chpow: public base {public: void disp() { coutpow(x,y)。 } }。 void main() { base *ptr。 square B。 cube C。 chpow D。 ptr=amp。B。 ptrsetx(5)。 ptrdisp()。 ptr=amp。C。 ptrsetx(6)。 ptrdisp()。 ptr=amp。D。 ptrsetx(3,4)。 ptrdisp()。 } 抽象類指針 派生類 抽象類指針指向不同的派生類對象 B、 C、 D,實現(xiàn)多態(tài)性 程序舉例 類名 數(shù)據(jù)成員 成員函數(shù) vehicle 名稱 含義 名稱 功能 wheels 車輪個數(shù) vehicle 初始化數(shù)據(jù)成員 weight 車重 getwheels、 getweight 分別獲得各數(shù)據(jù)成員值 print 輸出各數(shù)據(jù)成員值 truck wheels weight 基類 vehicle類成員 truck 初始化數(shù)據(jù)成員的值 ( 通過調(diào)用基類的構(gòu)造函數(shù)初始化基類成員 ) payload 載重量 efficiency 求卡車的載重效率 print 輸出數(shù)據(jù)成員的值 ( 通過調(diào)用基類的 print函數(shù)輸出基類成員的值 ) [例 ]定義一個汽車類 vehicle, 其數(shù)據(jù)成員有車輪個數(shù)wheels和車重 weight;再定義一個派生類卡車類 truck, 包含新的數(shù)據(jù)成員載重量 payload及成員函數(shù)載重效率 。 其中: 載重效率 =載重量 /(載重量 +車重) include class vehicle {private: int wheels。 float weight。 public: vehicle(int wl,float wt) {wheels=wl。 weight=wt。} int getwheels() {return wheels。 } float getweight() {return weight。} void print() {cout車輪: wheels個 endl。 cout車重: weight公斤 endl。 } }。 定義基類 class truck:public vehicle {private: float payload。 public: truck(int wl,float wt,float pl):vehicle(wl,wt) {payload=pl。} float efficiency() {return(payload/(payload+vehicle::getweight()))。} void print() {cout卡車: endl。 vehicle::print()。 cout載重: payload公斤 endl。 cout載重效率: efficiency()endl。 } }。 void main() {truck T(8,4000,300000)。 ()。} 調(diào)用基類成員函數(shù)得到車重 不能直接代之以 weight 派生類構(gòu)造函數(shù)調(diào)用基類構(gòu)造函數(shù) [例 ]定義一個下標運算符重載函數(shù),實現(xiàn)數(shù)組下標的越界檢測 include class chararray {private: int length。 char *buff。 public: chararray(int l) {length=l。 buff=new char[length]。 } int getlength( ) {return length。} char amp。operator[](int i) {static char ch=0。 if(ilengthamp。amp。i=0) return buff[i]。 else {cout out of range.。} return ch。 } }。 void main() {int t。 chararray string1(6)。 char *string2=string。 for(t=0。t8。t++) string1[t]=string2[t]。 for(t=0。t8。t++) coutstring1[t]endl。 cout()endl。 } 返回值為整型變量的引用 對未超界的元素返回該元素變量 對超界的下標提示超界信息
點擊復制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1