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

正文內(nèi)容

c類和對象ppt課件-文庫吧資料

2024-10-25 04:35本頁面
  

【正文】 ? 其中:訪問方式同單繼承 ? 多繼承下派生類的構(gòu)造函數(shù)必須同時負(fù)責(zé)所有基類構(gòu)造函數(shù)的調(diào)用 ? 在多繼承下 , 派生類構(gòu)造函數(shù)的定義格式 : 派生類構(gòu)造函數(shù)名 ( 參數(shù)表 ) :基類名 1(參數(shù)表 1), ?? { ?? } ? 在多繼承下 , 系統(tǒng)首先執(zhí)行各基類的構(gòu)造函數(shù) , 然后再執(zhí)行派生類的構(gòu)造函數(shù) , 處于同一層次的各基類構(gòu)造函數(shù)的執(zhí)行順序與聲明派生類時所指定的各基類順序一致 , 而與派生類的構(gòu)造函數(shù)定義中所調(diào)用基類構(gòu)造函數(shù)的順序無關(guān) 。 ? 派生類的構(gòu)造函數(shù)的定義格式如下: 派生類名::派生類構(gòu)造函數(shù)名 ( 參數(shù)表 ) :基類構(gòu)造函數(shù)名 ( 參數(shù)表 ) { ?? } ? 基類的對象只能調(diào)用基類的成員函數(shù) , 不能調(diào)用派生類的成員函數(shù) ? 在定義派生類的對象時 , 系統(tǒng)首先執(zhí)行基類的構(gòu)造函數(shù) , 然后執(zhí)行派生類的構(gòu)造函數(shù) 。 cout圓的面積是: ()endl。 Cylinder s2(2,5)。 } double Cylinder::area( ) //重新定義 area()函數(shù) { return 2*Circle::area( )+2**radius*height。 } void Cylinder::setheight(double h) { height=h。 //重新定義 area()函數(shù) }。 double getheight()。 public: Cylinder(double r, double h)。 } }。 } double getradius( ) { return radius 。 public: Circle(double r){ radius=r。 派生類繼承了基類的屬性和方法 支持軟件模塊的復(fù)用 ? 復(fù)用了基類的數(shù)據(jù)結(jié)構(gòu)和成員函數(shù) ? 【例】 分別定義一個描述圓的類 Circle和描述一個圓柱體的類 Cylinder。m39。 strcpy(Name,)。 Sex=s。 include Student_Info::Student_Info(int n,char *a,char s,int y,int m,int d):Birthday(y,m,d) { No=n。 char GetSex( )。 int GetNo( )。 public: Student_Info(int n,char *a,char s,int y,int m,int d)。 char Sex。 構(gòu)造函數(shù) X::X(參數(shù)表 0):成員 1(參數(shù)表 1),成員 2(參數(shù)表 2) { … ... } ? 建立 X類對象時, 先 調(diào)對象成員的構(gòu)造函數(shù),然后才執(zhí)行 X類的構(gòu)造函數(shù) ? 對象成員構(gòu)造函數(shù)的調(diào)用順序取決于這些對象成員在類中的說明順序 ? 析構(gòu)函數(shù)的調(diào)用順序與構(gòu)造函數(shù)相反 include class Student_Info { int No。 i++ ) cout (i) 。 } for( i=0。 cin n。 i20。 Array x(10)。 // 賦值 } int Array::GetAt( int i ) // 按下標(biāo) i 取元素數(shù)據(jù) { return i size? *(pElems + i): 0。 // 釋放原數(shù)組空間 pElems = p。 size+=5。 // 獲得數(shù)組大小 } 方法的實(shí)現(xiàn)( 2/2) void Array::SetAt( int i, int v ) { // 按下標(biāo) i 賦值 v if( i = size ) { // 超過范圍 int *p = new int[ size +5 ]。 } Array::~Array( void ) { // 撤消前被自動調(diào)用 delete [ ]pElems。 類設(shè)計要點(diǎn) ? 獨(dú)立性 ? 表示獨(dú)立的實(shí)體 ? 以屬性表示其特征 ? 以行為表示其擔(dān)負(fù)的責(zé)任(功能、服務(wù)) ? 封裝性 ? 不開放屬性 ? 提供足夠的方法,支持各種用途 ? 隱蔽內(nèi)部數(shù)據(jù)結(jié)構(gòu) ? 隱蔽方法的內(nèi)部算法 ? 復(fù)用性 ? 適用性強(qiáng)、功能豐富 方法的實(shí)現(xiàn)( 1/2) Array::Array( int n ) { // 構(gòu)造 n元素的數(shù)組 pElems = new int[ n ]。 // 存取 int GetSize( void )。 // 析構(gòu) void SetAt( int i, int v )。 // 個數(shù) public: Array( int n )。 } 例:動態(tài)整數(shù)數(shù)組類 ? 作為對象的數(shù)組 ? 唯一標(biāo)識的實(shí)體 ? 封裝數(shù)組元素、元素個數(shù)等信息 ? 責(zé)任功能 ? 按照下標(biāo)的訪問 ? 數(shù)組大小可變 ? 可獲取元素個數(shù) include include class Array { int *pElems。 // 輸出 ( )。 } main( ) { CRation r( 18, 27 )。 } n /= y。 y=t。 } t=x%y。 x = y。 } void CRation::Gcd( ) { int x = n, y = d, t。 // this是指向當(dāng)前對象的指針 thisd = d。 // 約分 }。 // 構(gòu)造 void Print( )。 // 分子 long d。c1)。 //c1 ? C2? } this指針 C++的非靜態(tài)成員函數(shù) 有一個隱含參數(shù) X *const this int Date::getYear(Date
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1