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

正文內(nèi)容

c課件六(編輯修改稿)

2024-10-22 16:27 本頁面
 

【文章內(nèi)容簡介】 float *fracpart) { //形參 intpart、 fracpart是指針 *intpart=int(x)。 // 取 x的整數(shù)部分 *fracpart=x*intpart。 //取 x的小數(shù)部分 } 指針與函數(shù) int main() { int i, n。 float x, f。 coutEnter three(3) floating point numbers endl。 for (i = 0。 i 3。 i++) { cin x。 splitfloat(x,amp。n,amp。f)。 //變量地址做實參 coutInteger Part is n Fraction Part is fendl。 } } 53 運行結(jié)果: Enter three(3) floating point numbers Integer Part is 4 Fraction Part is Integer Part is 8 Fraction Part is Integer Part is 4 Fraction Part is 54 C++語言程序設(shè)計 清華大學(xué) 鄭莉 55 例 : 輸出數(shù)組元素的內(nèi)容和地址 include iostream include iomanip using namespace std。 void Array_Ptr(long *P, int n) { int i。 coutIn func, address of array is unsigned long(P)endl。 coutAccessing array using pointers endl。 for (i = 0。 i n。 i++) { cout Address for index i is unsigned long(P+i)。 cout Value is *(P+i)endl。 } } 指針與函數(shù) int main() { long list[5]={50, 60, 70, 80, 90}。 coutIn main, address of array is unsigned long(list)endl。 coutendl。 Array_Ptr(list,5)。 } 56 運行結(jié)果: In main, address of array is 6684132 In func, address of array is 6684132 Accessing array using pointers Address for index 0 is 6684132 Value is 50 Address for index 1 is 6684136 Value is 60 Address for index 2 is 6684140 Value is 70 Address for index 3 is 6684144 Value is 80 Address for index 4 is 6684148 Value is 90 57 C++語言程序設(shè)計 清華大學(xué) 鄭莉 58 指向常量的指針做形參 includeiostream using namespace std。 const int N=6。 void print(const int *p,int n)。 int main() { int array[N]。 for(int i=0。iN。i++) cinarray[i]。 print(array,N)。 } 指 針 void print(const int *p, int n) { cout{*p。 for(int i=1。in。i++) cout.*(p+i)。 cout}endl。 } 59 C++語言程序設(shè)計 清華大學(xué) 鄭莉 60 指針型函數(shù) 當(dāng)函數(shù)的返回值是地址時,該函數(shù)就是指針形函數(shù)。 聲明形式 存儲類型 數(shù)據(jù)類型 *函數(shù)名 () 指針與函數(shù) C++語言程序設(shè)計 清華大學(xué) 鄭莉 61 ? 聲明形式 存儲類型 數(shù)據(jù)類型 (*函數(shù)指針名 )()。 ? 含義: – 數(shù)據(jù)指針指向數(shù)據(jù)存儲區(qū),而函數(shù)指針指向的是程序代碼存儲區(qū)。 指向函數(shù)的指針 指針與函數(shù) C++語言程序設(shè)計 清華大學(xué) 鄭莉 62 例 611函數(shù)指針 include iostream using namespace std。 void print_stuff(float data_to_ignore)。 void print_message(float list_this_data)。 void print_float(float data_to_print)。 void (*function_pointer)(float)。 int main() { float pi=(float)。 float two_pi=(float)*pi。 指針與函數(shù) print_stuff(pi)。 function_pointer = print_stuff。 function_pointer(pi)。 function_pointer = print_message。 function_pointer(two_pi)。 function_pointer()。 function_pointer = print_float。 function_pointer(pi)。 print_float(pi)。 } 63 void print_stuff(float data_to_ignore) { coutThis is the print stuff function.\n。 } void print_message(float list_this_data) { coutThe data to be listed is list_this_dataendl。 } void print_float(float data_to_print) { coutThe data to be printed is data_to_printendl。 } 64 運行結(jié)果: This is the print stuff function. This is the print stuff function. The data to be listed is The data to be listed is The data to be printed is The data to be printed is 65 C++語言程序設(shè)計 清華大學(xué) 鄭莉 66 對象指針的一般概念 ? 聲明形式 類名 *對象指針名; ? 例 Point A(5,10)。 Piont *ptr。 ptr=amp。A。 ? 通過指針訪問對象成員 對象指針名 成員名 ptrgetx() 相當(dāng)于 (*ptr).getx()。 指 針 C++語言程序設(shè)計 清華大學(xué) 鄭莉 67 對象指針應(yīng)用舉例 int main() { Point A(5,10)。 Point *ptr。 ptr=amp。A。 int x。 x=ptrGetX()。 coutxendl。 return 0。 } 指 針 C++語言程序設(shè)計 清華大學(xué) 鄭莉 68 曾經(jīng)出現(xiàn)過的錯誤例子 class Fred。 //前向引用聲明 class Barney { Fred x。 //錯誤:類 Fred的聲明尚不完善 }。 class Fred { Barney y。 }。 指 針 C++語言程序設(shè)計 清華大學(xué) 鄭莉 69 正確的程序 class Fred。 //前向引用聲明 class Barney { Fred *x。 }。 class Fred { Barney y。 }。 指 針 C++語言程序設(shè)計 清華大學(xué) 鄭莉 70 this指針 ? 隱含于每一個類的成員函數(shù)中的特殊指針。 ? 明確地指出了成員函數(shù)當(dāng)前所操作的數(shù)據(jù)所屬的對象。 – 當(dāng)通過一個對象調(diào)用成員函數(shù)時,系統(tǒng)先將該對象的地址賦給 this指針,然后調(diào)用成員函數(shù),成員函數(shù)對對象的數(shù)據(jù)成員進(jìn)行操作時,就隱含使用了 this指針。 指 針 C++語言程序設(shè)計 清華大學(xué) 鄭莉 71 this指針 例如: Point類的構(gòu)造函數(shù)體中的語句: X=xx。 Y=yy。 相當(dāng)于: thisX=xx。 thisY=yy。 指 針 C++語言程序設(shè)計 清華大學(xué) 鄭莉 72 指向類的非靜態(tài)成員的指針 ? 通過指向成員的指針只能訪問公有成員 ? 聲明指向成員的指針 – 聲明指向公有數(shù)據(jù)成員的指針 類型說明符 類名 ::*指針名; – 聲明指向公有函數(shù)成員的指針 類型說明符 (類名 ::*指針名 )(參數(shù)表 ); 指 針 C++語言程序設(shè)計 清華大學(xué) 鄭莉 73 指向類的非靜態(tài)成員的指針 ? 指向數(shù)據(jù)成員的指針 – 說明指針應(yīng)該指向哪個成員 指針名 =amp。類名 ::數(shù)據(jù)成員名; – 通過對象名(或?qū)ο笾羔槪┡c成員指針結(jié)合來訪問數(shù)據(jù)成員 對象名 .* 類成員指針名 或: 對象指針名 — *類成員指針名 指 針 C++語言程序設(shè)計 清華大學(xué) 鄭莉 74 指向類的非靜態(tài)成員的指針 ? 指向函數(shù)成員的指針 – 初始化 指針名 =類名 ::函數(shù)成員名; – 通過對象名(或?qū)ο笾羔槪┡c成員指針結(jié)合來訪問函數(shù)成員 (對象名 .* 類成員指針名 )(參數(shù)表 ) 或: (對象指針名 — *類成員指針名 )(參數(shù)表 ) 指 針 C++語言程序設(shè)計 清華大學(xué) 鄭莉 75 指向類的非靜態(tài)成員的指針 例 613 訪問對象的公有成員函數(shù)的不同方式 int main() //主函數(shù) { Point A(4,5)。 //聲明對象 A Point *p1=amp。A。 //聲明對象指針并初始化 //聲明成員函數(shù)指針并初始化 int (Point::*p_GetX)()=Point::GetX。 //( 1)使用成員函數(shù)指針訪問成員函數(shù) cout(A.*p_GetX)()endl。 //( 2)使用對象指針訪問成員函數(shù) cout(p1GetX)()endl。 //( 3)使用對象名訪問成員函數(shù) cout()endl。 } 指 針 C++語言程序設(shè)計 清華大學(xué) 鄭莉 76 指向類的靜態(tài)成員的指針 ? 對類的靜態(tài)成員的訪問不依賴于對象 ? 可以用普通的指針來指向和訪問靜態(tài)成員 ? 例 614 – 通過指針訪問類的靜態(tài)數(shù)據(jù)成員 ? 例 615 – 通過指針訪問類的靜態(tài)函數(shù)成員 指 針 C++語言程序設(shè)計 清華大學(xué) 鄭莉 77 例 614通過指針訪問類的靜態(tài)數(shù)
點擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1