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

正文內(nèi)容

c語言與程序設(shè)計大學教程(下)ppt(參考版)

2024-10-20 03:48本頁面
  

【正文】 太原工業(yè)學院計算機工程系 2021/11/10 107 友元函數(shù)應(yīng)用實例 include class TPoint{ public: TPoint(int x,int y)。 太原工業(yè)學院計算機工程系 2021/11/10 106 友元函數(shù)應(yīng)用實例 【 實例 9101】 定義一個點( Tpoint)類,計算兩點之間的距離。該說明可以放在公有部分,也可以放在私有部分。盡管友元函數(shù)不是類的成員函數(shù),但它可以訪問類的所有成員,包括私有成員、保護成員和公有成員。 太原工業(yè)學院計算機工程系 2021/11/10 105 友元函數(shù) 友元函數(shù)是一種定義在類外面的普通函數(shù),而不是類的成員函數(shù)。 太原工業(yè)學院計算機工程系 2021/11/10 104 友元 友元提供了不同類或?qū)ο蟮某蓡T函數(shù)之間、類的成員函數(shù)與一般函數(shù)之間進行數(shù)據(jù)共享的機制。 TStudent::show_st(st3)。 TStudent::show_st(st2)。 TStudent::show_st(st1)。 太原工業(yè)學院計算機工程系 2021/11/10 103 靜態(tài)成員函數(shù)應(yīng)用實例 include void main() { cout sno sname score sum avg count\n。 float TStudent::sum=。 coutsetw(8)countendl。 coutsetw(8)sum。 coutsetw(8)。 // 累加總成績 avg=sum/count。 ++count。 strcpy(sno,st_no)。 strcpy(sname,name)。 static float avg。 static int count。 char *sname。 static void show_st(TStudent x)。利用靜態(tài)成員函數(shù)輸出學生的信息。靜態(tài)成員函數(shù)只能直接訪問類中的靜態(tài)數(shù)據(jù)成員,而不能直接訪問類中的非靜態(tài)數(shù)據(jù)成員,若要訪問類中的非靜態(tài)數(shù)據(jù)成員,可通過對象來引用。 太原工業(yè)學院計算機工程系 2021/11/10 98 靜態(tài)成員函數(shù) 靜態(tài)成員函數(shù)和靜態(tài)數(shù)據(jù)成員一樣,他們都屬于類的靜態(tài)成員,他們都不是對象成員。 ( 2)對于靜態(tài)數(shù)據(jù)成員的初始化不能在構(gòu)造函數(shù)中進行。 ()。 TStudent st3(楊陽 ,003,73)。 ()。 ()。 TStudent st1(李力 ,001,92)。 float TStudent::avg=。 } int TStudent::count=0。 coutsetw(10)avg。 coutsetw(8)score。 } 太原工業(yè)學院計算機工程系 2021/11/10 95 靜態(tài)數(shù)據(jù)成員應(yīng)用實例 void TStudent::show_st() //輸出學生信息 { coutsetw(7)sno。 // 計算平均成績 } TStudent::~TStudent() { delete []sname。 // 累加學生人數(shù) sum=sum+score。 score=score1。 sno=new char[strlen(st_no)+1]。 太原工業(yè)學院計算機工程系 2021/11/10 94 靜態(tài)數(shù)據(jù)成員應(yīng)用實例 TStudent::TStudent(char *name,char *st_no,float score1 ) { sname=new char[strlen(name)+1]。 static float avg。 static int count。 char *sname。 // 輸出姓名、學號和成績 void show_count_sum_avg()。 ~TStudent()。 【 編程思路 】 學生的總成績、平均成績和學生人數(shù)應(yīng)該是每個學生共享的數(shù)據(jù),因此,將其說明為靜態(tài)數(shù)據(jù)成員。 若靜態(tài)數(shù)據(jù)成員沒有進行初始化,則自動被初始化為 0。 必須在創(chuàng)建該類的對象之前為靜態(tài)成員分配存儲空間并設(shè)置初值。 太原工業(yè)學院計算機工程系 2021/11/10 91 靜態(tài)數(shù)據(jù)成員 靜態(tài)數(shù)據(jù)成員在生成每一個類的對象時并不分配存儲空間,而是該類的每個對象共享一個公共的存儲空間,并且該類的所有對象都可以直接訪問該存儲空間。 可以利用靜態(tài)成員的這一特性, 存儲共享信息或進行數(shù)據(jù)傳遞。但可以用 static來修飾成員,被修飾的成員稱為靜態(tài)成員。i++) s1[i].ShowStudent( )。 for(int i=0。 cout訪問類成員 \n。 } void TStudent::ShowStudent( ) { coutsetw(6)snosetw(12)snamesetw(6)sagesetw(5)oendl。 sage=age。 太原工業(yè)學院計算機工程系 2021/11/10 88 對象數(shù)組應(yīng)用實例 TStudent::TStudent(char *sn,char *name,int age,int ) { strcpy(sno,sn)。 int o。 char sname[10]。 //說明構(gòu)造函數(shù) void ShowStudent( )。 太原工業(yè)學院計算機工程系 2021/11/10 86 對象數(shù)組應(yīng)用實例 【 實例 941】 定義一個描述學生的類(包括:學號、姓名、年齡和班級號)及該類的對象數(shù)組,使用構(gòu)造函數(shù)初始化數(shù)據(jù)成員。如果構(gòu)造函數(shù)有 3個參數(shù),分別代表學號、年齡、成績。 例如: TStudent stud[3]={60,70,78}。在需要時可以在定義數(shù)組時提供實參以實現(xiàn)初始化。 【 格式 】 類名 對象數(shù)組名 [長度 ] 太原工業(yè)學院計算機工程系 2021/11/10 84 在對象數(shù)組中使用構(gòu)造函數(shù) 在建立數(shù)組時,同樣要調(diào)用構(gòu)造函數(shù)。這時可以定義一個“學生類”對象數(shù)組,每一個數(shù)組元素是一個“學生類”對象。} 太原工業(yè)學院計算機工程系 2021/11/10 82 調(diào)用構(gòu)造函數(shù)和析構(gòu)函數(shù)的順序 太原工業(yè)學院計算機工程系 2021/11/10 83 對象數(shù)組 數(shù)組不僅可以由簡單變量組成,也可以由對象組成,即對象數(shù)組的每一個元素都是同類的對象。 s2ShowStudent()。 coutsetw(6)snosetw(12)snamesetw(6)sagesetw(6)o\n。 s2=new TStudent(002,李力 ,20,2)。 } TStudent::~TStudent() //定義析構(gòu)函數(shù) { cout析構(gòu)函數(shù)被調(diào)用! \n。 o=。 strcpy(sname,name)。 太原工業(yè)學院計算機工程系 2021/11/10 80 析構(gòu)函數(shù)實例 TStudent::TStudent(char *sn,char *name,int age,int ) {定義構(gòu)造函數(shù) cout構(gòu)造函數(shù)被調(diào)用! \n。 int o。 char sname[10]。 //說明析構(gòu)函數(shù) void ShowStudent( )。 include include include class TStudent { public: TStudent(char *sn,char *name,int age,int )。實際上什么操作都不進行。 每個類必須有一個析構(gòu)函數(shù)。 太原工業(yè)學院計算機工程系 2021/11/10 78 析構(gòu)函數(shù) 在下面兩種情況下,析構(gòu)函數(shù)會被系統(tǒng)自動調(diào)用: ① 如果一個對象被定義在一個函數(shù)體內(nèi),則當這個函數(shù)結(jié)束時,該對象的析構(gòu)函數(shù)被自動調(diào)用。因此在一個類中只能有一個析構(gòu)函數(shù)。 析構(gòu)函數(shù)具有以下一些特點: ( 1) 析構(gòu)函數(shù)名與構(gòu)造函數(shù)名相同,但它前面必須加一個波浪號 (~),用以區(qū)別于構(gòu)造函數(shù)。 太原工業(yè)學院計算機工程系 2021/11/10 77 析構(gòu)函數(shù) 析構(gòu)函數(shù)也是一種特殊的成員函數(shù)。} 【 說明 】 在執(zhí)行語句 TStudent s1(001,張紅,18,2)。 coutsetw(6)snosetw(12)snamesetw(6)sagesetw(6)o\n。 } 太原工業(yè)學院計算機工程系 2021/11/10 76 用參數(shù)初始化表對數(shù)據(jù)成員初始化實例 void main() { TStudent s1(001,張紅 ,20,2)。 strcpy(sname,name)。}。 int sage。 private: char sno[5]。 太原工業(yè)學院計算機工程系 2021/11/10 74 用參數(shù)初始化表對數(shù)據(jù)成員初始化實例 include include include class TStudent { public: TStudent(char *sn,char *name,int age,int )。 這種方法不在函數(shù)體內(nèi)對數(shù)據(jù)成員初始化 , 而是在函數(shù)首部實現(xiàn) 。 太原工業(yè)學院計算機工程系 2021/11/10 72 用參數(shù)初始化表對數(shù)據(jù)成員初始化 前面介紹的是在構(gòu)造函數(shù)的函數(shù)體內(nèi)通過賦值語句對數(shù)據(jù)成員實現(xiàn)初始化 。 ( 3)在執(zhí)行語句 TStudent s3(1)。 ( 2)在執(zhí)行語句 TStudent s2。 ()。 ()。 cout訪問類成員 \n。} void TStudent::ShowStudent( ) { coutsetw(6)snosetw(12)snamesetw(6)sagesetw(5)oendl。 sage=20。} //重載、帶缺省形參值構(gòu)造函數(shù)的定義 TStudent::TStudent(int ) {strcpy(sno,002)。 sage=age。 太原工業(yè)學院計算機工程系 2021/11/10 69 構(gòu)造函數(shù)的重載 TStudent::TStudent(char *sn,char *name,int age,int ) //構(gòu)造函數(shù)定義 { strcpy(sno,sn)。 int sage, o。 private: char sno[5]。 TStudent(int =3)。 構(gòu)造函數(shù)的重載 【 實例 913】 定義一個描述學生的類(包括:學號、姓名、年齡和班級號)及該類的對象,使用重載、帶缺省形參值的構(gòu)造函數(shù)初始化數(shù)據(jù)成員。這些構(gòu)造函數(shù)具有相同的名字,而參數(shù)的個數(shù)或參數(shù)的類型不相同。 ( 3)由于構(gòu)造函數(shù)不能顯示調(diào)用,因此,實參是在定義對象時給出的。 } 構(gòu)造函數(shù)的應(yīng)用示例 太原工業(yè)學院計算機工程系 2021/11/10 66 【 說明 】 ( 1)構(gòu)造函數(shù)的名字 TStudent與類名 TStudent相同。 coutsetw(6)snosetw(12)snamesetw(6)sagesetw(6)o\n。 } 構(gòu)造函數(shù)的應(yīng)用示例 太原工業(yè)學院計算機工程系 2021/11/10 65 include void main() { TStudent s1(001,張紅 ,18,2)。 o=。 strcpy(sname,name)。 }。 int sage。 private: char sno[5]。 太原工業(yè)學院計算機工程系 2021/11/10 63 //include include include include class TStudent { public: TStudent(char *sn,char *name,int age,int )。 //建立對象 t2,同時調(diào)用構(gòu)造函數(shù) ( ) ( )。 //對 t1的數(shù)據(jù)成員賦值 ( )。} void main( ) { Time t1。 cins
點擊復制文檔內(nèi)容
教學課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1