国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

C++ public private protect

2019-11-06 06:34:55
字體:
來源:轉載
供稿:網友

public體現了C++的封裝性 PRivate體現了C++的封閉特性 用戶代碼(類外)可以訪問public成員而不能訪問private成員;private成員只能由類成員(類內)和友元訪問。

protect體現了C++d的繼承性 protected成員可以被派生類對象訪問,不能被用戶代碼(類外)訪問。

有public, protected, private三種繼承方式,它們相應地改變了基類成員的訪問屬性。 基類中私有變量無法訪問 public繼承:基類public成員,protected成員的訪問屬性在派生類中分別變成:public, protected protected繼承:基類public成員,protected成員的訪問屬性在派生類中分別變成 protected,protected private繼承:基類public成員,protected成員的訪問屬性在派生類中分別變成private

友元是一種定義在類外部的普通函數,但他需要在類體內進行說 明,為了和該類的成員函數加以區別,在說明時前面加以關鍵字friend。友元不是成員函數,但是他能夠訪問類中的私有成員。友元的作用在于提高程式的運 行效率,但是,他破壞了類的封裝性和隱藏性,使得非成員函數能夠訪問類的私有成員。 friend double Distance(Point &a, Point &b); 成員函數的定義,他無需指出所屬的類,就能夠引用類中的私有成員。 友元函數須通過對象調用,所以它的參數有對象

友元函數 : 友元函數是可以直接訪問類的私有成員的非成員函數。它是定義在類外的普通函數,它不屬于任何類,但需要在類的定義中加以聲明,聲明時只需在友元的名稱前加上關鍵字friend,其格式如下: friend 類型 函數名(形式參數);

友元函數的聲明可以放在類的私有部分,也可以放在公有部分,它們是沒有區別的,都說明是該類的一個友元函數。 一個函數可以是多個類的友元函數,只需要在各個類中分別聲明。 友元函數的調用與一般函數的調用方式和原理一致。

友元類的所有成員函數都是另一個類的友元函數,都可以訪問另一個類中的隱藏信息(包括私有成員和保護成員)。 當希望一個類可以存取另一個類的私有成員時,可以將該類聲明為另一類的友元類。定義友元類的語句格式如下: friend class 類名; 其中:friend和class是關鍵字,類名必須是程序中的一個已定義過的類。

例如,以下語句說明類B是類A的友元類: class A { … public: friend class B; … }; 經過以上說明后,類B的所有成員函數都是類A的友元函數,能存取類A的私有成員和保護成員。

使用友元類時注意: (1) 友元關系不能被繼承。 (2) 友元關系是單向的,不具有交換性。若類B是類A的友元,類A不一定是類B的友元,要看在類中是否有相應的聲明。 (3) 友元關系不具有傳遞性。若類B是類A的友元,類C是B的友元,類C不一定是類A的友元,同樣要看類中是否有相應的申明


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 龙岩市| 西吉县| 澳门| 互助| 洞口县| 平远县| 化德县| 新竹市| 榕江县| 谢通门县| 海南省| 巩留县| 盐池县| 巴林右旗| 黄陵县| 涡阳县| 汉川市| 卫辉市| 鸡泽县| 手游| 汤原县| 天水市| 镇安县| 镇巴县| 富蕴县| 车致| 满洲里市| 杭锦旗| 鄂州市| 吉安市| 武义县| 阳原县| 河北区| 曲靖市| 溧水县| 武胜县| 临西县| 当雄县| 仁怀市| 城口县| 德格县|