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

正文內(nèi)容

靜態(tài)成員與友元ppt課件-資料下載頁

2025-05-07 08:07本頁面
  

【正文】 切,那么,可以通過將這個函數(shù)定義為這個類的 “ 友元函數(shù) ” 來為這個函數(shù)提供直接訪問類的非公有成員的能力。同樣,如果一個類 A與另一個類 B的關(guān)系非常密切,那么可以通過將類 A定義為類 B的 “ 友元類 ” 來為類 A的所有成員函數(shù)提供直接訪問類 B的非公有成員的能力。 有時候,普通函數(shù)需要直接訪問一個類的保護(hù)或私有數(shù)據(jù)成員。如果沒有友元機制,則只能將類的數(shù)據(jù)成員聲明為公共的,從而,任何函數(shù)都可以無約束的訪問它。 普通函數(shù)需要直接訪問類的保護(hù)或私有數(shù)據(jù)成員的原因主要是為提高效率。 返回 申明一個函數(shù) f()是另一個類 B的友元函數(shù)的方式是:在類 B的定義體中說明函數(shù) f(), 并且在類名前面加上 friend關(guān)鍵字: Class B { friend 函數(shù) f()的原型聲明; //其他類成員的定義或聲明 }; 在類 B中聲明的友元函數(shù) f: ( 1) 它不是 A的函數(shù)成員。 ( 2) f的定義可以在類 B的說明內(nèi),也可以在類外。 ( 3)函數(shù) f雖不是 A的成員,但有權(quán)訪問和調(diào)用 A的所有私有及保護(hù)成員。 申明一個類 A是另一個類 B的友元類的方式是:在類 B的定義體中說明類 A, 并且在類名前面加上 friend關(guān)鍵字: Class B { friend class A。 //其他類成員的定義或聲明 }; 在類 B中說明的友元類 A: ( 1) 它可能是與 B無關(guān)的另外一個類。 ( 2)類在類外說明 ( 3)類 A有權(quán)訪問和調(diào)用類 B的所有成員,包括私有及保護(hù)成員。 當(dāng)將一個類 A或函數(shù) f()說明為另一個類 B的友元后,類 A或函數(shù) f()就可以直接訪問類 B的任何成員,包括私有和保護(hù)成員,這一點就像是一個家庭的知心朋友可以知曉這個家庭的所有秘密一樣。 使用友元的注意事項: ( 1) friend不是雙向的,即如果將類 A定義為類B的友元,那么類 A就可以直接訪問類 B的私有成員,但這并不意味著類 B的成員函數(shù)可以直接訪問類 A的私有成員,需要在類 A中說明類 B為它的友元類。 ( 2)友元不是類的成員。也就是說,友元不受類成員訪問控制的限制,它只是一個說明,可以放在類定義體中的任何地方。 public,private等限定符對其不起作用。 ( 3)除了一般的函數(shù)可以是友元函數(shù)外,一個類的成員函數(shù)也可以成為另一個類的友元函數(shù),這時的友元說明需要加上類域的限定。 int func(int,float)。 //一個一般函數(shù) class A {public:void memfunc(char *)。 //類 A的成員函數(shù) //… }。 class B {friend int func(int,float)。 friend void A::memfunc(char *)。 //類 B的其他成員 }; 面向?qū)ο蟪绦蛟O(shè)計主張程序的封裝,數(shù)據(jù)的隱藏,不過任何事物都不是絕對的,友元的概念是 C++語言為用戶提供的在局部打破這種封裝和隱藏的手段,好像一個家庭的財物,總是要通過防盜門、門鎖、保險柜等措施不讓外人接觸。但在特殊情況下,例如全家出游,又需要檢查煤氣、水、電等情況,就不得不把鑰匙交給可依賴的朋友。這位朋友就是友元。不過友元的概念有點類似于結(jié)構(gòu)程序設(shè)計語言中的 goto語句,雖有必要設(shè)置,但不宜多用。 返回
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1