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

首頁 > 學院 > 開發設計 > 正文

C++:private繼承與public繼承

2019-11-14 11:40:34
字體:
來源:轉載
供稿:網友

PRivate, public, protected 訪問標號的訪問范圍

private:只能由1.該類中的函數、2.其友元函數訪問。不能被任何其他訪問,該類的對象也不能訪問。

protected:可以被1.該類中的函數、2.子類的函數、3.其友元函數訪問。但不能被該類的對象訪問。

public:可以被1.該類中的函數、2.子類的函數、3.其友元函數訪問,也可以由4.該類的對象訪問。

注:友元函數包括3種:設為友元的普通的非成員函數;設為友元的其他類的成員函數;設為友元類中的所有成員函數。

2 類被繼承后方法屬性變化

private 屬性不能夠被繼承。使用private繼承, 父類的protected和public屬性在子類中變為private;使用protected繼承,父類的protected和public屬性在子類中變為protected;使用public繼承, 父類的protected和public屬性不發生改變;

3 private繼承和public繼承的適用情況

C++將public繼承視為is-a關系。private繼承則并不意味著is-a關系,private繼承意味著implemented-in-terms-of(根據某物實現出)。private繼承意味著只有實現部分被繼承,接口部分被略去。private繼承在軟件設計層面上沒有意義,其意義只在于軟件實現層面。

private繼承:

1)編譯器不會自動將一個子類對象轉換為一個父類對象,而public繼承會;

2)子類中由父類繼承而來的成員(protected和public)都變為private。

implemented-in-terms-of也可以由復合實現。在應用域,復合意味著has-a;在實現域,復合意味著is-implemented-in-terms-of。盡可能使用復合實現這種關系,必要時(涉及protected成員或virtual函數時)才使用private繼承


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 金平| 西峡县| 宝兴县| 开封市| 浙江省| 浦江县| 郴州市| 绥中县| 柞水县| 丰都县| 丰镇市| 仁怀市| 高邑县| 兴化市| 五大连池市| 天等县| 阿巴嘎旗| 化州市| 南溪县| 筠连县| 明溪县| 休宁县| 万荣县| 永仁县| 南丰县| 邵阳县| 广州市| 英山县| 岚皋县| 炎陵县| 大化| 汉寿县| 仁寿县| 营口市| 文登市| 鸡西市| 松潘县| 宁德市| 灌阳县| 察雅县| 剑河县|