真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

C++代碼重用(一)-創(chuàng)新互聯(lián)

文章目錄
          • 1. 私有繼承
          • 2. 保護繼承
          • 3. 使用using重新定義訪問權(quán)限

c++的一個主要目標就是促進代碼重用,縮短代碼開發(fā)時間。其中繼承就是實現(xiàn)該目標的機制之一。

創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)公司,提供網(wǎng)站設(shè)計、成都做網(wǎng)站,網(wǎng)頁設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);可快速的進行網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,是專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!1. 私有繼承

私有繼承提供的特性與包含相同:獲得實現(xiàn),并不獲得接口。兩者都可以用來實現(xiàn)has-a的關(guān)系。

私有繼承使用關(guān)鍵字private(實際上在繼承中private是默認值,因此省略訪問限定符也將導(dǎo)致私有繼承)。

使用多個基類的繼承被稱為多重繼承,例如:

class A{};
class B{};
class C : private A,private B{//多重繼承
  ...  
};
2. 保護繼承

保護繼承是私有繼承的變體。保護繼承在列出基類的時候使用關(guān)鍵子protected;保護繼承使得基類的公有成員和保護成員都將稱為派生類的保護成員,其與私有繼承一樣,基類的接口在派生類中都是可用的,但是在繼承層次結(jié)構(gòu)之外是不可用的。兩者的大區(qū)別在于派生類再派生出另外一個類的時候,使用私有繼承第三代類將不能使用基類的接口,因為基類的公有方法在第二代類中變成了私有方法;但是在使用保護繼承,第三代類可以使用基類的接口,因為在第二代類中基類的公有方法變成受保護的,因此在第三代類中可以使用它們。

公有繼承、私有繼承和保護繼承的特點如下:

特征公有繼承保護繼承私有繼承
基類的公有成員變成派生類的公有成員派生類的保護成員派生類的私有成員
基類的保護成員變成派生類的保護成員派生類的保護成員派生類的私有成員
基類的私有成員變成只能通過基類的接口訪問只能通過基類接口訪問只能通過基類接口訪問
能否隱式向上轉(zhuǎn)換是(但只能在派生類中)

(注:這里的隱式向上轉(zhuǎn)換只意味著無需進行顯式類型轉(zhuǎn)換,就可以將基類指針或引用指向派生類對象)

3. 使用using重新定義訪問權(quán)限

在使用私有派生和保護派生的時候,基類的公有成員函數(shù)將成為私有成員和保護成員。如果希望基類的方法能夠在派生類外面可用的話,首先我們能想到的是在派生中定義一個公有方法,在該方法中調(diào)用基類的方法,進而實現(xiàn)該效果。另外一種方法就是使用using重新定義訪問權(quán)限。

class Base{...
 public:
    double min();
    double max();
    ...
};

class A:private Base{...
 public:
    using Base::min; //using只使用成員名,不需要圓括號、函數(shù)特征標和返回類型
    using Base::max;
    ...
};

//調(diào)用
A a;
double min = a.min();
double max = a.max();

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧


文章題目:C++代碼重用(一)-創(chuàng)新互聯(lián)
文章位置:http://weahome.cn/article/ioehd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部