正在閱讀:圖例實(shí)解:C++中類的繼承特性圖例實(shí)解:C++中類的繼承特性

2005-03-15 10:15 出處:PConline 作者:管寧 責(zé)任編輯:xietaoming

  整個(gè)c++程序設(shè)計(jì)全面圍繞面向?qū)ο蟮姆绞竭M(jìn)行,類的繼承特性是c++的一個(gè)非常非常重要的機(jī)制,繼承特性可以使一個(gè)新類獲得其父類的操作和數(shù)據(jù)結(jié)構(gòu),程序員只需在新類中增加原有類中沒(méi)有的成分。

  可以說(shuō)這一章節(jié)的內(nèi)容是c++面向?qū)ο蟪绦蛟O(shè)計(jì)的關(guān)鍵。

  下面我們簡(jiǎn)單的來(lái)說(shuō)一下繼承的概念,先看下圖:

  上圖是一個(gè)抽象描述的特性繼承表

  交通工具是一個(gè)基類也稱做父類),通常情況下所有交通工具所共同具備的特性是速度與額定載人的數(shù)量,但按照生活常規(guī),我們來(lái)繼續(xù)給交通工具來(lái)細(xì)分類的時(shí)候,我們會(huì)分別想到有汽車類和飛機(jī)類等等,汽車類和飛類同樣具備速度和額定載人數(shù)量這樣的特性,而這些特性是所有交通工具所共有的,那么當(dāng)建立汽車類和飛機(jī)類的時(shí)候我們無(wú)需再定義基類已經(jīng)有的數(shù)據(jù)成員,而只需要描述汽車類和飛機(jī)類所特有的特性即可,飛機(jī)類和汽車類的特性是由在交通工具類原有特性基礎(chǔ)上增加而來(lái)的,那么飛機(jī)類和汽車類就是交通工具類的派生類也稱做子類)。以此類推,層層遞增,這種子類獲得父類特性的概念就是繼承。

  下面我們根據(jù)上圖的理解,有如下的代碼:

#include <iostream>   
using namespace std; 
 
class Vehicle 

public
    void EditSC(float speed,int total); 
protected
    float speed;//速度 
    int total;//最大載人量 
}; 
void Vehicle::EditSC(float speed,int total) 

    Vehicle::speed = speed; 
    Vehicle::total = total; 

class Car:public Vehicle//Car類繼承Vehicle的特性,Car類是Vehicle的派生類 

public
    Car() 
    { 
        aird=0; 
    } 
protected
    int aird;//排量 
}; 
 
class plane:public Vehicle 

protected
    float wingspan;//翼展 
}; 
 
void main() 

    Car a; 
    a.EditSC(150,4); 
    cin.get(); 
}

  派生類的定義可以在類名稱后加冒號(hào)public空格加基類名稱進(jìn)行定義,如上面代碼中的class Car:public Vehicle。

鍵盤也能翻頁(yè),試試“← →”鍵
302 Found

302 Found


Powered by Tengine
tengine