成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

C++中繼承的性質(zhì)-創(chuàng)新互聯(lián)

  1. 繼承機制是面向?qū)ο蟪绦蛟O(shè)計使代碼可以復(fù)用的最重要的手段,它允許程序員在保持原有類性質(zhì)的基礎(chǔ)上進行擴展,增加功能。

    在清鎮(zhèn)等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站制作、成都網(wǎng)站設(shè)計 網(wǎng)站設(shè)計制作按需網(wǎng)站制作,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站建設(shè),營銷型網(wǎng)站,外貿(mào)網(wǎng)站建設(shè),清鎮(zhèn)網(wǎng)站建設(shè)費用合理。
  2. 繼承的定義的格式:

    class 派生類名:繼承類型 基類名

    繼承類型包括有:public(公有繼承)

                  private(私有繼承)

                  protected(保護繼承)

  3. 繼承關(guān)系基類的public成員
    基類的private成員
    基    類    的protected成員
    繼承引起的訪問控制變化
    publicpublic成員
    不可見protected成員非私有成員在子類中的訪問屬性不變
    privateprivate成員不可見
    private成員非私有成員在子類中的訪問屬性變?yōu)閜rivate屬性
    protectedprotected成員不可見
    protected成員非私有成員在子類中的訪問屬性變?yōu)閜rotected屬性

    舉例:

#include <iostream>
using namespace std;
class A
{
public:
	int f1();
private:
	int i1;
protected:
	int j1;
};

int A::f1()
{
	cout << "函數(shù)f1的實現(xiàn)" << endl;
}

class B :public A
{
public:
	int f2()
	{
		j1 = 0;
		i1 = 0;
		cout << "函數(shù)f2的實現(xiàn)" << endl;

	}	

C++中繼承的性質(zhì)在公有繼承的子類中,不能訪問基類中的private成員。因為基類和子類是兩個不同的類域,private成員只能在類能訪問。

私有繼承和保護繼承也是一樣。

注意:不管是哪種繼承方式,在派生類中都可以訪問基類的公有成員和保護成員,基類的私有成員存在,但在子類中不能訪問。

4. 關(guān)鍵字class繼承時,缺省繼承類型則默認為:private.

 關(guān)鍵字struct繼承時,缺省繼承類型則默認為:public.

5. 繼承關(guān)系中構(gòu)造函數(shù)的調(diào)用順序:

 基類構(gòu)造函數(shù)------>派生類中對象的構(gòu)造函數(shù)--------->派生類構(gòu)造函數(shù)體

舉例:

#include <iostream>
using namespace std;
class A
{
public:
	A()
	{
		a = 0;
		cout << "A's default constuctor called." << endl;
	}
private:
	int a;
};

class B :public A
{
public:
	B()
	{
		b = 0;
		cout << "B's default constuctor called." << endl;
	}
private:
	int b;
};
int main()
{
	B bb;
	system("pause");
	return 0;
}

C++中繼承的性質(zhì)

6. 繼承關(guān)系中析構(gòu)函數(shù)的調(diào)用順序:

派生類析構(gòu)函數(shù)體------>派生類對中析構(gòu)函數(shù)--------->基類構(gòu)造函數(shù)

說明:

  1. 基類沒有缺省構(gòu)造函數(shù),派生類必須要在初始化列表中顯式給出基類名和參數(shù)列表;

  2. 基類沒有定義構(gòu)造函數(shù),則派生類也可以不用定義,全部使用缺省構(gòu)造函數(shù);

  3. 基類定義了帶有形參表構(gòu)造函數(shù),派生類就一定定義構(gòu)造函數(shù)。

7.關(guān)于繼承體系中的作用域:

在繼承體系中基類和派生類是兩個不同的作用域,如果子類中有與基類同名的成員,子類成員屏蔽基類對成員直接訪問。

注:在子類成員函數(shù)中,可以使用 基類名::基類成員名   這樣的方式類訪問。

舉例:

#include <iostream>
using namespace std;
class A
{
public:
	int temp;
private:
	int a;
};

class B :public A
{
public:
	int temp;
	int add()
	{
		temp = 100;
		A::temp = 0;
		return temp;
	}
	
private:
	int b;
	
};
int main()
{
	B bb;
	int ret = 0;
	ret = bb.add();
	system("pause");
	return 0;
}

C++中繼承的性質(zhì)

將子類B中的temp賦值為100,基類中的temp賦值為0;

8. 繼承中的賦值兼容規(guī)則:

 子類對象可以賦值給基類對象,反之不可以;

 基類對象的指針/引用可以指向基類對象,子類對象的指針/引用可以通過強制類型轉(zhuǎn)換的方式指向基    類對象,但是有內(nèi)存泄漏的風(fēng)險。

9. 友元與繼承

 友元關(guān)系不能繼承,基類的友元不能訪問子類的私有和保護成員。

舉例:

#include <iostream>
using namespace std;
class A
{
	friend class C;
public:
	int temp;
private:
	int a;
};

class B :public A
{
public:
	int temp;
private:
	int b;
protected:
	int i;
};

class C
{
public:
	int c;
	int f()
	{
		temp = 2;
		i = 0;
		return 0;
	}
};

int main()
{
	C bb;
	int ret = 0;
	ret = bb.f();
	system("pause");
	return 0;
}

C++中繼承的性質(zhì)10. 單繼承:一個子類只有一個基類

11. 多繼承:一個子類有多個基類,

          定義形式:class 子類名:繼承類型 基類名<,繼承類型 基類名,繼承類型 基類名,...>

12. 菱形繼承:

          定義形式:

          舉例:

               C++中繼承的性質(zhì)發(fā)現(xiàn)問題:Assistant的對象中存在兩份Person成員,菱形繼承中存在二義性和數(shù)據(jù)冗余的問題。

C++中繼承的性質(zhì)

虛繼承可以解決了菱形繼承中二義性和數(shù)據(jù)冗余的問題,但是一般不適用虛繼承,因為虛繼承帶來了性能上的損耗。

說明:C++語言規(guī)定,虛基類子對象是由最派生類的構(gòu)造函數(shù)通過調(diào)用虛基類的構(gòu)造函數(shù)進行初始化的。如果一個派生類有一個直接或間接的虛基類,那么派生類的構(gòu)造函數(shù)的成員初始列表中必須列出對虛基類構(gòu)造函數(shù)的調(diào)用;如果未列出,則表示使用該虛基類的默認構(gòu)造函數(shù)來初始化派生類對象中的虛基類子對象。

創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國云服務(wù)器,動態(tài)BGP最優(yōu)骨干路由自動選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機房獨有T級流量清洗系統(tǒng)配攻擊溯源,準確進行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動現(xiàn)已開啟,新人活動云服務(wù)器買多久送多久。

本文名稱:C++中繼承的性質(zhì)-創(chuàng)新互聯(lián)
文章源于:http://jinyejixie.com/article40/dhoceo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT做網(wǎng)站、網(wǎng)站內(nèi)鏈、App設(shè)計響應(yīng)式網(wǎng)站、網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)
阿鲁科尔沁旗| 日照市| 游戏| 昌平区| 富阳市| 安顺市| 定安县| 龙井市| 夏河县| 贞丰县| 陕西省| 汾西县| 泰和县| 济宁市| 旺苍县| 会理县| 济宁市| 宁陵县| 宁德市| 济宁市| 宁德市| 凉山| 临潭县| 班戈县| 监利县| 武夷山市| 隆尧县| 岳普湖县| 台山市| 温州市| 山阳县| 闽侯县| 贵南县| 姜堰市| 汉阴县| 晋中市| 龙山县| 衡水市| 安化县| 壤塘县| 昌江|