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

正文內(nèi)容

[計(jì)算機(jī)軟件及應(yīng)用]第8章第一部分類(lèi)與對(duì)象(編輯修改稿)

2024-11-15 04:16 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 }。 Coordinate a, b, *p, array[5]。 上面在 Coordinate的名下定義了四項(xiàng)數(shù)據(jù),其中變量 a和 b都是以 Coordinate 類(lèi)為類(lèi)型的對(duì)象,而 p為指向該類(lèi)對(duì)象的指針變量,array 為對(duì)象數(shù)組。 3. 直接定義類(lèi)對(duì)象 一般形式為: class { …… . }對(duì)象名表; 例如: class { public: ……. private: ……. }date1,date2; // 聲明兩個(gè)類(lèi)對(duì)象 date1和 date2 其中沒(méi)有類(lèi)名,從而也就沒(méi)有類(lèi)類(lèi)型名。這只能對(duì)一個(gè)缺省名稱(chēng)的類(lèi)類(lèi)型一次性地聲 明若干對(duì)象,此后就無(wú)法再聲明這種類(lèi)型的對(duì)象了。 因此,這種用法缺少靈活性。我們常用的是第 1種和第 2種方法。 訪問(wèn)類(lèi)成員 在介紹類(lèi)成員訪問(wèn)方法之前,我們先來(lái)介紹一下類(lèi)的作用域的概念。 在類(lèi)中聲明的變量名和函數(shù)名,以及類(lèi)的數(shù)據(jù)成員和成員函數(shù),屬于類(lèi)的作用域。 在類(lèi)的作用域內(nèi),類(lèi)的成員可以被該類(lèi)的所有成員函數(shù)立即訪問(wèn),即只要簡(jiǎn)單地指出它的名字就可以引用它。在類(lèi)的作用域外,則需要通過(guò)對(duì)象名或指向?qū)ο蟮闹羔榿?lái)引用類(lèi)的對(duì)象。對(duì)象名與圓點(diǎn)成員訪問(wèn)運(yùn)算符(.)一起使用,而指向?qū)ο蟮闹羔樑c箭頭成員訪問(wèn)運(yùn)算符( )一起使用。 通過(guò)一個(gè)例子來(lái)說(shuō)明怎樣使用成員訪問(wèn)運(yùn)算符。 include class Count // 簡(jiǎn)單的類(lèi) Count { public: int x; void print() {coutxendl。 } }。 void main() { Count counter。 // 建立對(duì)象 counter Count *pCount = amp。counter。 // 指向 counter的指針 coutAssign 3 to x and print using the object?s name: 。 = 3。 // 把 3賦值給數(shù)據(jù)成員 x ()。 // 調(diào)用成員函數(shù) print coutAssign 5 to x and print using a pointer: 。 pCountx = 5。 // 把 5賦值給數(shù)據(jù)成員 x pCountprint()。 } // 調(diào)用成員函數(shù) print 輸出結(jié)果: Assign 3 to x and print using the object?s name: 3 Assign 5 to x and print using a pointer: 5 類(lèi)成員的訪問(wèn)控制 設(shè)置類(lèi)成員的訪問(wèn)控制是基于以下兩個(gè)原因: 1. 一些成員函數(shù)對(duì)于數(shù)據(jù)類(lèi)型內(nèi)部的處理來(lái)說(shuō)是必需的 , 但對(duì)于客戶(hù)程序員解決特定的問(wèn)題的接口來(lái)說(shuō)卻不是必需的 , 限制客戶(hù)程序員對(duì)這些成員的訪問(wèn)使得他們可以更容易的知道什么是可以忽略的而什么是重要的 。 2. 合理的訪問(wèn)控制使得類(lèi)的設(shè)計(jì)者在對(duì)類(lèi)的內(nèi)部實(shí)現(xiàn)進(jìn)行修改的時(shí)候 , 不必?fù)?dān)心這種修改會(huì)對(duì)客戶(hù)程序員產(chǎn)生影響 。 只要類(lèi)的接口不變 , 客戶(hù)程序員對(duì)類(lèi)的使用不會(huì)產(chǎn)生任何變化 。 C++是通過(guò)三個(gè)關(guān)鍵字 public(公有)、 private(私有)以及 protected(保護(hù))來(lái)指定類(lèi)成員的訪問(wèn)限制的。它們被稱(chēng)為訪問(wèn)限定符。 在 public(公有) 區(qū)域內(nèi)聲明的成員是公有成員。公有成員在程序的任何地方都可以被訪問(wèn)。 一般將公有成員限制在成員函數(shù)上 。這種公有的成員函數(shù)作為類(lèi)與外界的接口,程序通過(guò)這種函數(shù)來(lái)操作該類(lèi)對(duì)象。 在 private(私有)區(qū)域內(nèi)聲明的成員是私有成員。 私有成員只能被該類(lèi)的成員函數(shù)或該類(lèi)的友員訪問(wèn)。一般將類(lèi)的數(shù)據(jù)成員聲明為 private,使得程序必須通過(guò)類(lèi)的成員函數(shù)才能訪問(wèn)數(shù)據(jù)成員,可以避免對(duì)成員數(shù)據(jù)的非法訪問(wèn)。 封裝是對(duì)于代碼而言的,而不是對(duì)人說(shuō)的。 只要其它程序員寫(xiě)的代碼不依賴(lài)于他們的所見(jiàn),那么即使他們看了你的類(lèi)中的 private部分,也不會(huì)破壞封裝。換句話(huà)說(shuō),封裝不會(huì)阻止人認(rèn)識(shí)類(lèi)的內(nèi)部。封裝只是防止他們寫(xiě)出依賴(lài)類(lèi)內(nèi)部實(shí)現(xiàn)的代碼。 在 protected(保護(hù))區(qū)域內(nèi)聲明的成員是被保護(hù)的成員。被保護(hù)成員對(duì)派生類(lèi)就像 public成員一樣,但對(duì)于其他類(lèi)或程序則像 private。 定義 coordinate類(lèi)表示平面上點(diǎn)的坐標(biāo)。程序如下: include class coordinate { private: int X, Y。 public: void init(int x,int y) { X=x。 Y=y。 } int getx( ) { return X。 } int gety( ) { return Y。 } }。 void main() { coordinate A,B。 (100,50)。 (300,150)。 int x1=()。 int y1=()。 cout39。39。A(39。39。x1 , y139。39。)\n39。39。 cout39。39。B(39。39。( ) , ( )??)\n“。 } 運(yùn)行結(jié)果為: A(100 , 50) B(300 , 150) 類(lèi)的默認(rèn)訪問(wèn)模式是 private,因此類(lèi)的首部和第一個(gè)標(biāo)號(hào)之間的所有成員的類(lèi)型都是 private。每個(gè)標(biāo)號(hào)之后,采用該標(biāo)號(hào)表示的方式,直到遇到下一個(gè)標(biāo)號(hào)或遇到類(lèi)定義的右花括號(hào) “ }”。標(biāo)號(hào) public、private和 protected可以重復(fù),但這種情況不常用,容易造成混亂。 類(lèi)對(duì)象成員的可訪問(wèn)性 任何類(lèi)對(duì)象中都含有若干成員數(shù)據(jù)和成員函數(shù)。同一類(lèi)的不同對(duì)象,其成員名對(duì)應(yīng)相同,但成員數(shù)據(jù)的取值往往是互異的。外界(如函數(shù) main(),或不同對(duì)象的環(huán)境中)怎樣使用對(duì)象中的成員?同一對(duì)象中的函數(shù)怎樣訪問(wèn)該對(duì)象中自身的成員?這些在 C++中都有嚴(yán)格控制。決定類(lèi)對(duì)象成員可訪問(wèn)性的關(guān)鍵是其公有 /私有屬性。 類(lèi)對(duì)象中由 public指定的成員函數(shù)和成員數(shù)據(jù)是該類(lèi)對(duì)象與外界的接口界面,這些公有成員的功能體現(xiàn)了其所在對(duì)象的功能。外界只能通過(guò)公有成員訪問(wèn)一個(gè)對(duì)象(如改變對(duì)象的數(shù)據(jù)狀態(tài)),但外界不能直接操作類(lèi)對(duì)象的私有成員。如對(duì)于coordinate類(lèi),成員函數(shù) init()、 getx()和 gety()是公有的,它們是該類(lèi)每個(gè)對(duì)象同外界的界面。 主函數(shù) main()中使用調(diào)用語(yǔ)句 (300,150)。 為 coordinate類(lèi)對(duì)象 B的成員數(shù)據(jù) X和 Y(私有的)進(jìn)行了初始化。這個(gè)初始化的工作,只能通過(guò)界面函數(shù) init()來(lái)實(shí)現(xiàn),而不能直接對(duì) B的成員 X、 Y賦值。如: =300。 是錯(cuò)誤的。 B的私有成員 X和 Y隱藏在其內(nèi),外界是無(wú)法識(shí)別的。有時(shí),類(lèi)對(duì)象也有公有的成員數(shù)據(jù)。如在下面的例子中, myclass類(lèi)的對(duì)象具有公有的成員數(shù)據(jù),外界可以直接使用這些數(shù)據(jù)(如對(duì)其賦值): include class myclass { public: int i,j,k。 }。 void main() { myclass a,b。 =100。 =200。 =+。 =1。 cout 。 } 一般說(shuō)來(lái),一個(gè)類(lèi)對(duì)象的成員數(shù)據(jù)體現(xiàn)了該類(lèi)所反映客觀事物的數(shù)據(jù)結(jié)構(gòu)。這是該類(lèi)事物的主觀內(nèi)在屬性,有時(shí)根據(jù)需要可能發(fā)生改變。因此,類(lèi)中的成員數(shù)據(jù)以指定為私有的為好。一個(gè)類(lèi)中的成員函數(shù),僅當(dāng)其成為與外界
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1