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

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

C++:private繼承與public繼承

2019-11-14 11:37:15
字體:
來源:轉載
供稿:網友

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繼承。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 石棉县| 雅江县| 泾川县| 永安市| 七台河市| 浙江省| 永德县| 阜宁县| 温宿县| 望江县| 怀化市| 思茅市| 长乐市| 华容县| 阳曲县| 当阳市| 象山县| 屏边| 武夷山市| 汉沽区| 宁都县| 高青县| 湘阴县| 静宁县| 宜城市| 贵州省| 读书| 涿鹿县| 柳林县| 永清县| 巫山县| 张家界市| 安远县| 聂拉木县| 大新县| 沿河| 文成县| 浙江省| 北宁市| 鱼台县| 清远市|