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

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

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

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

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

  我們在c語言中創(chuàng)建一個結(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)]有,標準c中是不允許在結(jié)構(gòu)體中聲明函數(shù),但c++中的類可以,這一點就和c有了本質(zhì)的區(qū)別,很好的體現(xiàn)了c++面向?qū)ο蟮奶攸c!

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

  他的特性是:

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

  但c++的特性是

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

  程序=對象+對象+對象+對象+........

  所以根據(jù)這一特性,我們在定義一個自己定義的結(jié)構(gòu)體變量的時候。這個變量就應該是叫做對象或者叫實例。

  例如

test a;

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

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

a.socre=10.1f;

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

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

鍵盤也能翻頁,試試“← →”鍵
302 Found

302 Found


Powered by Tengine
tengine