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

正文內(nèi)容

c類和對(duì)象ppt課件(參考版)

2024-10-22 04:35本頁(yè)面
  

【正文】 couts1endls2。 int s2 = sum( amp。 int s1 = sum( amp。 ( 23 )。 ( 32 )。 ( 10 )。 } main( ) { IntArray ar(10)。 i++ ) s += pSetGetAt(pSet)。 for( int i=0。 qnext = p。 qnext!=NULL。 return。 // 構(gòu)造新結(jié)點(diǎn) pnext = NULL。 } void IntList::Add( int val ) { Node *p = new Node()。 p=pnext ) if( idx == 0 ) return pval。 } int IntList::GetAt( int idx ) { for( Node *p=pHead。 p=pnext ) n++。 for( Node *p=pHead。 // 添加元素 } IntList 的實(shí)現(xiàn) IntList::IntList( ) { pHead=NULL。 // 新的空間 size += 8。 delete [ ]pData。 } void IntArray::Add( int val ) { if( used == size ) { // 擴(kuò)大數(shù)組的尺寸( +8) int *p = new int[ size + 8 ]。 // 元素個(gè)數(shù) } int IntArray::GetAt( int idx ) { if( idx = used ) return 1。 } IntArray::~IntArray( void ) { delete [ ]pData。 兩個(gè)類的對(duì)比 ? IntArray 實(shí)現(xiàn)動(dòng)態(tài)數(shù)組 ? pData 指向數(shù)組首元素地址 ? size 數(shù)組大小 ? used 整數(shù)的個(gè)數(shù) ? IntList 實(shí)現(xiàn)整數(shù)鏈表 ? Node 結(jié)點(diǎn)的結(jié)構(gòu) ? pHead 鏈表首元素地址 ? 接口 ? 創(chuàng)建方法不同 ? 使用方法相同 ? 以不同的數(shù)據(jù)結(jié)構(gòu)、不同的算法提供相同的功能 IntArray 的實(shí)現(xiàn) IntArray::IntArray( int sz ) { pData = new int[ size=sz ]。 void Add( int val )。 int GetNumber( )。 } *pHead。 class IntList : public IntContainer { struct Node { int val。 void Add( int val )。 int GetNumber( )。 public: IntArray( int sz )。 // 添加元素 }。 // 獲得整數(shù)個(gè)數(shù) virtual int GetAt( int idx ) = 0。 showarea(r)。 showarea(t)。 Rectangle r。s) { ()。 } }。 } }。 //聲明純虛函數(shù) }。 y=j。 include class Shape { protected: double x,y。 ? 引入抽象類的目的 , 主要是為了能將相關(guān)類組織在一個(gè)類繼承結(jié)構(gòu)中 , 并通過(guò)抽象類來(lái)為這些相關(guān)類提供統(tǒng)一的操作接口 。 ? 如果派生類中沒有重新定義基類中的純虛函數(shù) , 則在派生類中必須再將該虛函數(shù)聲明為純虛函數(shù) 。 ? 抽象類中可以有多個(gè)純虛函數(shù),也可以定義其他非純虛函數(shù)。 ? 形式 : virtual 類型 函數(shù)名 (參數(shù)表 ) =0。 } 純虛函數(shù) ? 在基類中只聲明虛函數(shù)而不給出具體的函數(shù)定義體,將它的具體定義放在各派生類中,稱此虛函數(shù)為純虛函數(shù)。 } 通過(guò)引用 void main() { B b。 void show(A amp。 class B:public A{ public: virtual void Print() { coutSubclassendl。 } 通過(guò)指針 class A{ public: virtual void Print(){coutParentendl。obj2。 s1print()。 s1=amp。B obj2。} }。} }。} }。 ? 如果函數(shù)原型不同 , 只是函數(shù)名相同 , C++將視其為一般的函數(shù)重載 , 而不是虛函數(shù) 。 ? 虛函數(shù)在派生類中重新定義時(shí) , 必須與基類中的函數(shù)原型完全相同 , 包括函數(shù)名 、 返回類型 、 參數(shù)個(gè)數(shù)和參數(shù)類型的順序 。 ? 當(dāng)一個(gè)類的成員函數(shù)說(shuō)明為虛函數(shù)后 , 在該類的派生類中定義與其基類虛函數(shù) 原型相同的 函數(shù) 。 虛函數(shù) ? 聲明虛函數(shù)的方法是在基類中的成員函數(shù)原型前加上關(guān)鍵字 virtual。 ? 必須通知編譯器這種可能的改變 , 即需要進(jìn)行動(dòng)態(tài)聯(lián)編 。 //以派生類 B的對(duì)象 b作實(shí)參 } ? 分析:在派生類 B中繼承了基類 A的成員函數(shù)print(), 又定義了一個(gè)同名的 print()函數(shù) 。 ()。 mfun(a)。 } void main() { A a。 } void mfun(A amp。b。 pbprint()。 pb=amp。a。 B b,*pb。 void B::print () { coutIn class B, print() is called.endl。} void print()。 } class B:public A { int b。 }。 public: A(int i=0) {a=i。 多繼承 ? 定義多繼承類的方式: class 派生類名:訪問方式 基類 1, 訪問方式 基類 2?? { ?? };
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1