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

正文內(nèi)容

c語(yǔ)言與程序設(shè)計(jì)大學(xué)教程(下)ppt-在線瀏覽

2024-12-04 03:48本頁(yè)面
  

【正文】 太原工業(yè)學(xué)院計(jì)算機(jī)工程系 2021/11/10 24 私有繼承( private )應(yīng)用實(shí)例 void TPerson::print() { cout\nname age sex 。 int score。 void show_st()。 太原工業(yè)學(xué)院計(jì)算機(jī)工程系 2021/11/10 25 私有繼承( private )應(yīng)用實(shí)例 void TStudent::Init_Student(char *str2,int age2,char s2,int c_no,int score1) { Init_Person(str2,age2,s2)。 score=score1。 coutclass_no scoreendl。 TStudent st。F39。 ()。F39。 ()。 基類的 private成員在私有派生類中是不可直接訪問的,所以無論是派生類成員還是通過派生類的對(duì)象,都無法直接訪問基類的 private成員。 include include class Student //聲明基類 {public: //基類公用成員 void display( )。string name。 }。 coutname:nameendl。 } 太原工業(yè)學(xué)院計(jì)算機(jī)工程系 2021/11/10 30 保護(hù)繼承( protected)應(yīng)用實(shí)例 //用 protected方式聲明派生類 Student1 class Student1: protected Student { public: void display1( )。 //派生類私有數(shù)據(jù)成員 string addr。 void Student1::display1( ) //定義派生類公用成員函數(shù) {coutnum:numendl。 coutsex:sexendl。 coutaddress:addrendl。 //stud1是派生類 Student1類的對(duì)象 //合法, display1是派生類中的公用成員函數(shù) ( )。 } 太原工業(yè)學(xué)院計(jì)算機(jī)工程系 2021/11/10 32 派生類的構(gòu)造函數(shù)和析構(gòu)函數(shù) 構(gòu)造函數(shù)的主要作用是對(duì)數(shù)據(jù)成員初始化。也就是說,希望在執(zhí)行派生類的構(gòu)造函數(shù)時(shí),使派生類的數(shù)據(jù)成員和基類的數(shù)據(jù)成員同時(shí)都被初始化。 太原工業(yè)學(xué)院計(jì)算機(jī)工程系 2021/11/10 33 簡(jiǎn)單的派生類的構(gòu)造函數(shù) 派生類的成員是由基類中的成員和在派生類中新定義的成員組成。因此,在定義派生類的構(gòu)造函數(shù)時(shí),除了對(duì)自己新定義的數(shù)據(jù)成員進(jìn)行初始化外,還必須調(diào)用基類的構(gòu)造函數(shù)使基類的數(shù)據(jù)成員得以初始化。 include include class Student //聲明基類 Student {public: Student(int n,string nam,char s) //基類構(gòu)造函數(shù) {num=n。 sex=s。 string name。 }。 //在函數(shù)體中只對(duì)派生類新增的數(shù)據(jù)成員初始化 addr=ad。 coutname:nameendl。 coutage: ageendl。 } 太原工業(yè)學(xué)院計(jì)算機(jī)工程系 2021/11/10 37 簡(jiǎn)單的派生類的構(gòu)造函數(shù)應(yīng)用實(shí)例 ~Student1( ){ } //派生類析構(gòu)函數(shù) private: //派生類的私有部分 int age。 }。f39。 Student1 stud2(1008,Zhangfun,39。,21,213 Shanghai Road,Beijing)。 //輸出第一個(gè)學(xué)生的數(shù)據(jù) ( )。 ( 2)派生類構(gòu)造函數(shù)的調(diào)用順序如下: ?首先,調(diào)用基類的構(gòu)造函數(shù)(祖先) ?如果存在子對(duì)象,調(diào)用子對(duì)象的構(gòu)造函數(shù) (客人 ) ?調(diào)用派生類構(gòu)造函數(shù)(自己) ( 3)派生類構(gòu)造函數(shù)的任務(wù)一般包括 3個(gè)部分: ?對(duì)基類數(shù)據(jù)成員初始化 ?對(duì)子對(duì)象數(shù)據(jù)成員初始化 ?對(duì)派生類數(shù)據(jù)成員初始化 太原工業(yè)學(xué)院計(jì)算機(jī)工程系 2021/11/10 39 2. 有子對(duì)象的派生類的構(gòu)造函數(shù) 類的數(shù)據(jù)成員中還可以包含類對(duì)象,如可以在聲明一個(gè)類時(shí)包含這樣的數(shù)據(jù)成員 : Student s1。 太原工業(yè)學(xué)院計(jì)算機(jī)工程系 2021/11/10 40 有子對(duì)象派生類的構(gòu)造函數(shù) 派生類構(gòu)造函數(shù)的格式如下: 派生類名(派生類構(gòu)造函數(shù)總參數(shù)表 ) :基類構(gòu)造函數(shù) (參數(shù)表 1),子對(duì)象名 (參數(shù)表 2) { 派生類中數(shù)據(jù)成員初始化 }; 太原工業(yè)學(xué)院計(jì)算機(jī)工程系 2021/11/10 41 有子對(duì)象派生類的構(gòu)造函數(shù)應(yīng)用實(shí)例 【 實(shí)例 832】 有子對(duì)象的派生類構(gòu)造函數(shù)應(yīng)用實(shí)例。 int age。 public: TPerson(char *str,int age1,char s)。 }。 age=age1。 coutTperson39。 } 太原工業(yè)學(xué)院計(jì)算機(jī)工程系 2021/11/10 42 有子對(duì)象派生類的構(gòu)造函數(shù)應(yīng)用實(shí)例 void TPerson::print() { cout\nname age sex 。 int score。 //聲明對(duì)象 public: //聲明派生類構(gòu)造函數(shù) TStudent(char *str2,int age2,char s2,int c_no,int score1)。 }。 score=score1。s constructor called!\n。 coutclass_no scoreendl。F39。M39。 for(int i=0。i++) { st[i].print()。 } } 太原工業(yè)學(xué)院計(jì)算機(jī)工程系 2021/11/10 45 派生類的析構(gòu)函數(shù) 當(dāng)對(duì)象被刪除時(shí),派生類的析構(gòu)函數(shù)被調(diào)用。執(zhí)行派生類析構(gòu)函數(shù)時(shí),不需要顯式地調(diào)用基類的析構(gòu)函數(shù),系統(tǒng)會(huì)自動(dòng)隱式調(diào)用。 ?首先調(diào)用派生類析構(gòu)函數(shù) ?然后調(diào)用子對(duì)象類的析構(gòu)函數(shù) ?最后調(diào)用基類的析構(gòu)函數(shù) 太原工業(yè)學(xué)院計(jì)算機(jī)工程系 2021/11/10 46 派生類的析構(gòu)函數(shù) 僅當(dāng)派生類的構(gòu)造函數(shù)通過動(dòng)態(tài)內(nèi)存管理分配內(nèi)存時(shí),才定義派生類的析構(gòu)函數(shù)。 太原工業(yè)學(xué)院計(jì)算機(jī)工程系 2021/11/10 47 派生類的析構(gòu)函數(shù)應(yīng)用實(shí)例 【 實(shí)例 833】 派生類析構(gòu)函數(shù)應(yīng)用實(shí)例。 int age。 public: TPerson()。 void print()。s destructor called!\n。}。 age=0。M39。s default constructor called!\n。 age=age1。 coutTperson39。 } void TPerson::print() { cout\nname age sex 。 int score。 TStudent(char *str2,int age2,char s2,int c_no,int score1)。 ~TStudent(){coutTstudent39。}。 //派生類 TStudent的析構(gòu)函數(shù) TStudent::TStudent() { class_no=0。 coutTstudent39。 } 太原工業(yè)學(xué)院計(jì)算機(jī)工程系 2021/11/10 50 派生類的析構(gòu)函數(shù)應(yīng)用實(shí)例 TStudent::TStudent(char *str2,int age2,char s2,int c_no,int score1):TPerson(str2,age2,s2) { class_no=c_no。 coutTstudent39。 } void TStudent::show_st() { print()。 } 太原工業(yè)學(xué)院計(jì)算機(jī)工程系 2021/11/10 51 派生類的析構(gòu)函數(shù)應(yīng)用實(shí)例 // include include include void main() { TStudent st3。 TStudent st[2]={TStudent(Li Ping,18,39。,1,98),TStudent(Wang Tao,20,39。,2,90)}。i2。 st[i].show_st()。常常需要初始化。相對(duì)于構(gòu)造函數(shù),一個(gè)稱為析構(gòu)函數(shù)的成員函數(shù)在對(duì)象撤消時(shí)自動(dòng)執(zhí)行清理任務(wù)。構(gòu)造函數(shù)在對(duì)象創(chuàng)建時(shí)由系統(tǒng)自動(dòng)調(diào)用。 ( 2)構(gòu)造函數(shù)可以有任意類型的參數(shù),但不能指定返回類型。 ( 3)構(gòu)造函數(shù)允許為內(nèi)聯(lián)函數(shù)、重載函數(shù)、帶缺省形參值的函數(shù)。 太原工業(yè)學(xué)院計(jì)算機(jī)工程系 2021/11/10 58 構(gòu)造函數(shù)的定義 在類定義時(shí)沒有定義任何構(gòu)造函數(shù)時(shí),編譯器會(huì)自動(dòng)為這個(gè)類生成一個(gè)不帶參數(shù)的缺省構(gòu)造函數(shù),其格式如下: 類名 ::缺省構(gòu)造函數(shù)名 () {…} 在程序中定義一個(gè)對(duì)象而沒有進(jìn)行初始化時(shí),則編譯器便按缺省構(gòu)造函數(shù)來初始化該對(duì)象。 太原工業(yè)學(xué)院計(jì)算機(jī)工程系 2021/11/10 59 構(gòu)造函數(shù)的應(yīng)用示例 【 實(shí)例 911】 定義一個(gè)時(shí)鐘類(包括:時(shí)、分、秒)及該類的對(duì)象,分別使用普通成員函數(shù)和構(gòu)造函數(shù)初始化數(shù)據(jù)成員。 class Time {public: Time( ) //定義構(gòu)造成員函數(shù),函數(shù)名與類名相同 {hour=0。 sec=0。 //函數(shù)聲明 void show_time( )。 //私有數(shù)據(jù)成員 int minute。}。 cinminute。 } void Time::show_time( ) //定義成員函數(shù),輸出數(shù)據(jù)成員的值 { couthour:minute:secendl。 //建立對(duì)象 t1,同時(shí)調(diào)用構(gòu)造函數(shù) ( ) ( )。 //顯示 t1的數(shù)據(jù)成員的值 Time t2。 //顯示 t2的數(shù)據(jù)成員的值 } 太原工業(yè)學(xué)院計(jì)算機(jī)工程系 2021/11/10 62 帶參的構(gòu)造函數(shù)的應(yīng)用示例 【 實(shí)例 912】 定義一個(gè)描述學(xué)生的類(包括:學(xué)號(hào)、姓名、年齡和班級(jí)號(hào))及該類的對(duì)象,使用構(gòu)造函數(shù)初始化數(shù)據(jù)成員。 //說明構(gòu)造函數(shù) void ShowStudent( )。 char sname[10]。 int o。 構(gòu)造函數(shù)的應(yīng)用示例 太原工業(yè)學(xué)院計(jì)算機(jī)工程系 2021/11/10 64 //定義構(gòu)造函數(shù) TStudent::TStudent(char *sn,char *name,int age,int ) { strcpy(sno,sn)。 sage=age。 } void TStudent::ShowStudent( ) { coutsetw(6)snosetw(12)snamesetw(6)sagesetw(5)oendl。 cout訪問類成員 \n。 ( )。 ( 2)在建立對(duì)象 s1時(shí)自動(dòng)調(diào)用構(gòu)造函數(shù),給該對(duì)象中的成員賦初值 ( 001,張紅 ,18,2)。 構(gòu)造函數(shù)的應(yīng)用 太原工業(yè)學(xué)院計(jì)算機(jī)工程系 2021/11/10 67 在一個(gè)類中可以定義多個(gè)構(gòu)造函數(shù),以便對(duì)類對(duì)象提供不同的初始化的方法,供用戶選用。這稱為構(gòu)造函數(shù)的重載。 太原工業(yè)學(xué)院計(jì)算機(jī)工程系 2021/11/10 68 構(gòu)造函數(shù)的重載 include include include class TStudent { public: TStudent(char *sn,ch
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1