正在閱讀:C++面向?qū)ο缶幊倘腴T:類(class)C++面向?qū)ο缶幊倘腴T:類(class)

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

  上兩篇內(nèi)容我們著重說(shuō)了結(jié)構(gòu)體相關(guān)知識(shí)的操作。

  以后的內(nèi)容我們將逐步完全以c++作為主體了,這也意味著我們的教程正式進(jìn)入面向?qū)ο蟮木幊塘恕?

  前面的教程我已經(jīng)再三說(shuō)明,結(jié)構(gòu)體的掌握非常重要,重要在哪里呢?重要在結(jié)構(gòu)體和類有相同的特性,但又有很大的區(qū)別,類是構(gòu)成面向?qū)ο缶幊痰幕A(chǔ),但它是和結(jié)構(gòu)體有著極其密切的關(guān)系。

  我們?cè)赾語(yǔ)言中創(chuàng)建一個(gè)結(jié)構(gòu)體我們使用如下方法:

struct test 

    private
        int number; 
    public
        float socre; 
};

  類的創(chuàng)建方式和結(jié)構(gòu)體幾乎一樣,看如下的代碼:

class test 

    private
        int number; 
    public
        float socre; 
    public
        int rp() 
        { 
            return number; 
        } 
        void setnum(int a) 
        { 
            number=a; 
        } 
};

  但是大家注意到?jīng)]有,標(biāo)準(zhǔn)c中是不允許在結(jié)構(gòu)體中聲明函數(shù),但c++中的類可以,這一點(diǎn)就和c有了本質(zhì)的區(qū)別,很好的體現(xiàn)了c++面向?qū)ο蟮奶攸c(diǎn)!

  過(guò)去的c語(yǔ)言是一種非面向?qū)ο蟮恼Z(yǔ)言

  他的特性是:

  程序=算法+數(shù)據(jù)結(jié)構(gòu)

  但c++的特性是

  對(duì)象=算法+數(shù)據(jù)結(jié)構(gòu)

  程序=對(duì)象+對(duì)象+對(duì)象+對(duì)象+........

  所以根據(jù)這一特性,我們?cè)诙x一個(gè)自己定義的結(jié)構(gòu)體變量的時(shí)候。這個(gè)變量就應(yīng)該是叫做對(duì)象或者叫實(shí)例。

  例如

test a;

  那么a就是test結(jié)構(gòu)的一個(gè)對(duì)象(實(shí)例)

  test結(jié)構(gòu)體內(nèi)的成員可以叫做是分量,例如:

a.socre=10.1f;

  那么number就是test結(jié)構(gòu)的對(duì)象a的分量(或者叫數(shù)據(jù)成員,或者叫屬性)score;

  在c語(yǔ)言中結(jié)構(gòu)體中的各成員他們的默認(rèn)存儲(chǔ)控制是public 而 c++中類的默認(rèn)存儲(chǔ)控制是private,所以在類中的成員如果需要外部掉用一定要加上關(guān)鍵字public聲明成公有類型,這一特性同樣使用于類中的成員函數(shù),函數(shù)的操作方式和普通函數(shù)差別并不大。

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

302 Found


Powered by Tengine
tengine