国产探花免费观看_亚洲丰满少妇自慰呻吟_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繼承。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 磐安县| 桦川县| 湟源县| 陆丰市| 阳朔县| 山丹县| 贺州市| 江城| 集贤县| 金溪县| 乐陵市| 罗山县| 门头沟区| 阿拉尔市| 斗六市| 弥勒县| 海原县| 天台县| 合江县| 琼海市| 鹰潭市| 昌吉市| 深水埗区| 宁津县| 泾阳县| 鹤壁市| 凉山| 新源县| 高安市| 邵武市| 南康市| 同德县| 噶尔县| 丹巴县| 松江区| 宜城市| 阿克陶县| 天津市| 四平市| 海阳市| 平顺县|