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

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

C++:private繼承與public繼承

2019-11-14 12:35:17
字體:
供稿:網(wǎng)友

PRivate, public, protected 訪問標(biāo)號的訪問范圍

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

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

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

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

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

private 屬性不能夠被繼承。使用private繼承, 父類的protected和public屬性在子類中變?yōu)閜rivate;使用protected繼承,父類的protected和public屬性在子類中變?yōu)閜rotected;使用public繼承, 父類的protected和public屬性不發(fā)生改變;

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

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

private繼承:

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

2)子類中由父類繼承而來的成員(protected和public)都變?yōu)閜rivate。

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


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 深圳市| 武山县| 锡林浩特市| 连平县| 称多县| 紫金县| 汤原县| 长岭县| 鄂托克旗| 永年县| 鹰潭市| 自贡市| 彰化市| 淮阳县| 东乡族自治县| 屯门区| 双城市| 阿瓦提县| 吕梁市| 大同市| 灵丘县| 楚雄市| 平凉市| 瓮安县| 犍为县| 保靖县| 井冈山市| 平阳县| 定边县| 昭平县| 沁水县| 正阳县| 云南省| 南溪县| 榆林市| 巧家县| 同江市| 临高县| 齐齐哈尔市| 石棉县| 沽源县|