自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

講述C++中的C++基類

開發(fā) 后端
在C++編程中,C++基類是提供封裝的邏輯單位,基類具有同一類集合中的公共屬性,派生類繼承了這些屬性,并且增加了自己特有的屬性。

C++語(yǔ)言中有一個(gè)很重要的特性:Private派生確保C++基類中的方法只能被派生類的對(duì)象的方法間接使用,而不能被外部使用,除非這些方法已經(jīng)被重新定義,下面就進(jìn)行詳細(xì)說(shuō)明。

繼承是一個(gè)進(jìn)程,通過(guò)繼承,一個(gè)對(duì)象可以獲得另一個(gè)對(duì)象的屬性(包括函數(shù)),并可向其中加入屬于自己的一些特征。作為C++語(yǔ)言的一種重要機(jī)制,用繼承的方法可以自動(dòng)為一個(gè)提供來(lái)自另一個(gè)的操作和數(shù)據(jù)結(jié)構(gòu)。#t#

進(jìn)而使程序設(shè)計(jì)人員在一個(gè)一般的的基礎(chǔ)上很快建立一個(gè)新的,而不必從零開始設(shè)計(jì)每個(gè)。當(dāng)一個(gè)被其他的繼承時(shí),被繼承的稱為基類,又稱為父。繼承其他屬性的稱為派生,又稱為子。

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

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

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

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

  1. class 派生名: 訪問(wèn)控制關(guān)鍵字 基類名1, 訪問(wèn)控制關(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)用,接下來(lái)被調(diào)用的是B的構(gòu)造函數(shù),***是C的構(gòu)造函數(shù)。析構(gòu)函數(shù)的調(diào)用順序正好相反。當(dāng)一個(gè)派生繼承有層次的時(shí),繼承鏈上的每個(gè)派生必須將它需要的變量傳遞給它的基類。

在繼承聲明語(yǔ)句中,訪問(wèn)控制關(guān)鍵字用于說(shuō)明在基類定義中所聲明的成員和成員函數(shù)能夠在多大范圍內(nèi)被派生所訪問(wèn)。訪問(wèn)控制關(guān)鍵字可為public, private或protected。如果訪問(wèn)控制關(guān)鍵字為public。

則稱派生C++基類公有繼承,也稱公有派生。如果訪問(wèn)控制關(guān)鍵字為private,則稱派生C++基類私有繼承,也稱私有派生?,F(xiàn)在筆者將公有繼承和私有繼承的具體區(qū)別列表如下。

通過(guò)上表,我們可以將兩種派生的特點(diǎn)總結(jié)如下:

基類成員 基類private成員 基類public成員

派生方式

private public private public
派生成員 不可見(jiàn) 不可見(jiàn) 可見(jiàn) 可見(jiàn)
外部函數(shù) 不可見(jiàn) 不可見(jiàn) 不可見(jiàn) 可見(jiàn)

責(zé)任編輯:chenqingxiang 來(lái)源: NET130
相關(guān)推薦

2010-01-27 10:22:53

C++基類

2010-02-01 13:25:32

Python腳本

2010-01-28 13:27:12

C++類定義

2010-01-12 10:40:22

C++程序員

2010-02-06 09:53:26

C++ void

2010-01-21 09:34:57

C++語(yǔ)法

2010-01-27 16:05:06

C++堆棧

2010-01-20 18:06:06

C++虛基類

2010-01-21 14:07:14

CC++聲明

2010-01-12 10:11:36

學(xué)習(xí)C++語(yǔ)言

2010-01-20 10:19:55

C++數(shù)組

2010-01-25 10:25:19

C++變量

2010-01-28 16:31:54

C++類型

2010-01-27 17:16:52

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

2020-08-21 13:20:36

C++If ElseLinux

2010-01-19 15:36:02

C++語(yǔ)言

2010-01-26 10:42:26

C++函數(shù)

2011-06-01 10:19:41

基類對(duì)象派生類對(duì)象

2010-01-26 14:35:11

C++關(guān)鍵字

2010-01-18 16:42:13

C++類
點(diǎn)贊
收藏

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