偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

如何進(jìn)行C++類的繼承

開發(fā) 后端
在介紹C++類之前,然讓大家了解下什么是C++類。類是定義同一類所有對(duì)象的變量和方法的藍(lán)圖或原型,歡迎大家學(xué)習(xí)參考。

C++語(yǔ)言中,C++類是提供封裝的邏輯單位,類的每一個(gè)對(duì)象都包含有描述其自身狀態(tài)的數(shù)據(jù)集合,并且通過接收特定的消息來處理這個(gè)數(shù)據(jù)集合。如果程序設(shè)計(jì)人員能夠通過增加、修改或替換指定類的部分內(nèi)容的方法對(duì)該類進(jìn)行剪裁,就可以適應(yīng)不同的應(yīng)用,從而在很大程度上增強(qiáng)了數(shù)據(jù)封裝的價(jià)值,而接下來要討論的繼承就完全可以實(shí)現(xiàn)這種操作。

繼承是一個(gè)進(jìn)程,通過繼承,一個(gè)對(duì)象可以獲得另一個(gè)對(duì)象的屬性(包括函數(shù)),并可向其中加入屬于自己的一些特征。作為C++語(yǔ)言的一種重要機(jī)制,用繼承的方法可以自動(dòng)為一個(gè)類提供來自另一個(gè)類的操作和數(shù)據(jù)結(jié)構(gòu),進(jìn)而使程序設(shè)計(jì)人員在一個(gè)一般的類的基礎(chǔ)上很快建立一個(gè)新的類,而不必從零開始設(shè)計(jì)每個(gè)類。

當(dāng)一個(gè)類被其他的類繼承時(shí),被繼承的類稱為基類(可不是雞肋^_^),又稱為父類。繼承其他類屬性的C++類稱為派生類,又稱為子類。

一般情況下,繼承的進(jìn)程起源于一個(gè)基類的定義,基類定義了其所有派生類的公有屬性。從本質(zhì)上講,基類具有同一類集合中的公共屬性,派生類繼承了這些屬性,并且增加了自己特有的屬性。從任何已存在的類繼承的實(shí)質(zhì)就是建造新的派生類。

從一個(gè)基類派生的繼承稱為單繼承,換句話說,派生類只有一個(gè)直接基類。單繼承聲明語(yǔ)句的常用格式為:

  1. class 派生類名: 訪問控制關(guān)鍵字 基類名  
  2. {  
  3.   數(shù)據(jù)成員和成員函數(shù)聲明  
  4. }; 

與此相對(duì)地,從多個(gè)基類派生的繼承稱為多繼承或多重繼承,也就是說,一個(gè)派生類有多個(gè)直接基類。在某些面向?qū)ο蟮恼Z(yǔ)言(如Java)中不支持類間的多重繼承而只支持單重繼承,即一個(gè)類至多只能有一個(gè)直接父類,因此實(shí)現(xiàn)類似的功能需要借助接口等其他機(jī)制。而在C++中提供了多重繼承的語(yǔ)法支持,使得問題變得簡(jiǎn)單了許多。多重繼承聲明語(yǔ)句的常用格式為:

  1. class 派生類名: 訪問控制關(guān)鍵字 基類名1, 訪問控制關(guān)鍵字 基類名2,...  
  2. {  
  3.   數(shù)據(jù)成員和成員函數(shù)聲明  
  4. }; 

除了多重繼承之外,一個(gè)派生類繼承多個(gè)基類還有一種方法,就是把派生類作為基類再次供別的類繼承,產(chǎn)生多層次的繼承關(guān)系。例如類A派生類B,類B派生類C,則稱類A是類B的直接基類,類B是類C的直接基類,類A是類C的間接基類。

類的層次結(jié)構(gòu)也叫做繼承鏈。還是上面的例子,當(dāng)建立C++類的對(duì)象時(shí),類A的構(gòu)造函數(shù)最先被調(diào)用,接下來被調(diào)用的是類B的構(gòu)造函數(shù),最后是類C的構(gòu)造函數(shù)。析構(gòu)函數(shù)的調(diào)用順序正好相反。當(dāng)一個(gè)派生類繼承有層次的類時(shí),繼承鏈上的每個(gè)派生類必須將它需要的變量傳遞給它的基類。

【編輯推薦】

  1. 簡(jiǎn)介學(xué)習(xí)C++總結(jié)之談
  2. 對(duì)C++庫(kù)函數(shù)進(jìn)行學(xué)習(xí)探索總結(jié)筆記
  3. C++類庫(kù)設(shè)計(jì)的基本構(gòu)思與方法
  4. C++語(yǔ)言真的還有市場(chǎng)價(jià)值?
  5. C++類庫(kù)設(shè)計(jì)的基本構(gòu)思與方法
責(zé)任編輯:chenqingxiang 來源: cnbeta
相關(guān)推薦

2010-01-27 15:29:45

C++異常處理

2010-01-20 13:29:40

C++環(huán)境

2010-01-20 10:49:29

Visual C++界

2010-02-02 13:04:03

C++頭文件

2010-01-19 14:39:22

C++ Builder

2014-09-19 10:46:36

LuaCC++

2010-01-21 13:48:30

C++基類

2010-01-12 09:59:08

Visual C++

2010-01-15 19:05:42

學(xué)習(xí)C++

2010-01-22 16:21:50

C++ Builder

2010-02-05 17:16:05

C++構(gòu)造函數(shù)

2010-02-01 18:20:17

Python 多重繼承

2010-01-27 10:45:21

C++單例模式

2009-08-03 16:37:49

C#異常類

2010-01-15 17:31:18

C++Test

2010-02-02 13:41:01

C++類繼承

2010-01-19 18:51:17

C++類

2010-01-28 10:33:10

C++開發(fā)程序

2010-01-15 18:06:20

C++引用

2009-08-27 15:33:58

C# Cookie編程
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)