C++中如何定義類和對象?

在C++語言中乞巧,對象的類型被稱為類涨椒,類代表了某一批對象的共性和特征。

類是對象的抽象绽媒,而對象是類的具體實例蚕冬。如同C中的結(jié)構(gòu)體一樣,我們要先定義一個結(jié)構(gòu)體是辕,再使用結(jié)構(gòu)體去定義一個變量囤热。同一個結(jié)構(gòu)體可以定義出多個不同的結(jié)構(gòu)體變量。我們要使用類也是如此获三。

類是對象的模板旁蔼,如同我們在建造房屋時候的圖紙,然后我們就可以利用這個圖紙去建造許多個房屋疙教。我們可以使用別人已經(jīng)定義好的類棺聊。更多的時候,我們要根據(jù)需要定義自己的類贞谓。

定義類

定義結(jié)構(gòu)體的方法:

struct Student

{

char name[128];

int age;

char add[128];

};

類的定義格式:

class類名

{

private : //成員訪問限制符

成員數(shù)據(jù);

成員函數(shù)限佩;

public : //public設(shè)置之前的成員都是上面所設(shè)置的私有的

成員數(shù)據(jù);

成員函數(shù);

protected:

成員數(shù)據(jù);

成員函數(shù)裸弦;

};

類也是一種數(shù)據(jù)類型祟同,它是一種我們自己定義的廣義的數(shù)據(jù)類型。

private

私有的理疙,只能在類的內(nèi)部訪問晕城,類的外部不能訪問。

protected

受保護的沪斟,只能在類的內(nèi)部訪問广辰,類的外部不能訪問暇矫,還可以在它的派生類中訪問主之,派生類后面會詳細介紹。

public

公有的李根,類的外部和內(nèi)部都可以訪問槽奕。

一個類可以包含多個成員訪問限制符,每一個生效的范圍直到下一個限制符被設(shè)置房轿,如果沒有被設(shè)置的話粤攒,默認為私有的所森。雖然同一個訪問限制符可以出現(xiàn)多次,但是為了代碼的簡潔夯接,我們應當讓它們只出現(xiàn)一次焕济。還有讓public的成員放在類的聲明前面。因為別人在觀看你的代碼的時候只會在意你的public成員盔几,其它對外界隱藏的成員對于外界是沒有意義的晴弃。

C++中新增了類這個關(guān)鍵字,依然保留了結(jié)構(gòu)逊拍,只是將結(jié)構(gòu)進行了擴展上鞠,使它也可以定義成員函數(shù)。與類不同的是芯丧,結(jié)構(gòu)中未聲明訪問限制的時候就會默認為公有的芍阎。

如下面這個print()函數(shù)在結(jié)構(gòu)體中就是公有的,如果在類中沒有被聲明訪問限制就是私有的缨恒。

定義對象

class類名 對象名谴咸;

類名對象名;//我們經(jīng)常使用這種方法來創(chuàng)建一個對象

類的成員函數(shù)

類的成員函數(shù)也被稱為類的方法骗露,它也是函數(shù)的一種寿冕,它和基本的函數(shù)是一樣的。它跟一般函數(shù)的區(qū)別只是它是一個類的成員椒袍,它是定義在類的內(nèi)部的驼唱,同時它有訪問控制符。

私有的成員函數(shù)只能在本類中被調(diào)用驹暑,將需要被外界調(diào)用的成員聲明為公有的玫恳,公有的成員函數(shù)就成了一個接口。如果我們只是希望一個函數(shù)在類的內(nèi)部被其它函數(shù)所調(diào)用优俘,我們就可以將它聲明為私有的京办,因為這樣的函數(shù)用來支持其它函數(shù)實現(xiàn)一些功能,我們稱這樣的函數(shù)為工具函數(shù)帆焕。

我們也可以不用定義成員函數(shù)惭婿,但是這就體現(xiàn)不出類的作用,就相當于C的結(jié)構(gòu)體了叶雹。

下面我們通過一個實例來了解一下類的結(jié)構(gòu)财饥。

在四號區(qū)域,我們創(chuàng)建了一個類的對象stu折晦,并通過它調(diào)用了類的兩個公共的方法钥星,私有和保護的方法在外界是不能被調(diào)用的。在一號區(qū)域满着,我們完成了print()函數(shù)的聲明和定義谦炒,但是getAge()函數(shù)僅僅只是聲明了贯莺,我們在三號區(qū)域當中,也就是類的外部定義了它宁改。當我們在類的外部定義成員函數(shù)的時候缕探,我們要在函數(shù)名前面加上類名和作用域限制符,它表示這個成員函數(shù)是屬于這個類的还蹲。二號區(qū)域中定義了一些私有的成員屬性撕蔼。在類的內(nèi)部進行成員函數(shù)的聲明,類的外部進行成員函數(shù)的定義秽誊,這是一個非常好的習慣鲸沮。這樣使類的長度更加短,結(jié)構(gòu)層次更加清晰锅论,便于我們閱讀讼溺,而且有助于把類的聲明和實現(xiàn)分離,從類的定義體中最易,用戶只看到了類的原型怒坯,這對我們實現(xiàn)數(shù)據(jù)隱藏是有好處的。

在類的內(nèi)部進行聲明和實現(xiàn)的時候藻懒,編譯器自動的將這些函數(shù)定義為內(nèi)聯(lián)函數(shù)剔猿。如print()函數(shù)。在類之外定義的函數(shù)默認就不是內(nèi)聯(lián)函數(shù)嬉荆,我們可以在定義函數(shù)的時候顯式的加上inline關(guān)鍵字使它變成內(nèi)聯(lián)函數(shù)归敬。如getAge()函數(shù)就可以在類外部定義的時候加上inline關(guān)鍵字聲明使它變?yōu)閮?nèi)聯(lián)函數(shù)。

原文鏈接:http://www.maiziedu.com/wiki/cplus/define/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末鄙早,一起剝皮案震驚了整個濱河市汪茧,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌限番,老刑警劉巖舱污,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異弥虐,居然都是意外死亡扩灯,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進店門霜瘪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來珠插,“玉大人,你說我怎么就攤上這事粥庄∩ナВ” “怎么了豺妓?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵惜互,是天一觀的道長布讹。 經(jīng)常有香客問我,道長训堆,這世上最難降的妖魔是什么描验? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮坑鱼,結(jié)果婚禮上膘流,老公的妹妹穿的比我還像新娘。我一直安慰自己鲁沥,他們只是感情好呼股,可當我...
    茶點故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著画恰,像睡著了一般彭谁。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上允扇,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天缠局,我揣著相機與錄音,去河邊找鬼考润。 笑死狭园,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的糊治。 我是一名探鬼主播唱矛,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼井辜!你這毒婦竟也來了揖赴?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤抑胎,失蹤者是張志新(化名)和其女友劉穎燥滑,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體阿逃,經(jīng)...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡铭拧,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了恃锉。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片搀菩。...
    茶點故事閱讀 38,059評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖破托,靈堂內(nèi)的尸體忽然破棺而出肪跋,到底是詐尸還是另有隱情,我是刑警寧澤土砂,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布州既,位于F島的核電站谜洽,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏吴叶。R本人自食惡果不足惜阐虚,卻給世界環(huán)境...
    茶點故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蚌卤。 院中可真熱鬧实束,春花似錦、人聲如沸逊彭。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽侮叮。三九已至析显,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間签赃,已是汗流浹背谷异。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留锦聊,地道東北人歹嘹。 一個月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像孔庭,于是被迫代替她去往敵國和親尺上。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,792評論 2 345

推薦閱讀更多精彩內(nèi)容

  • C++文件 例:從文件income. in中讀入收入直到文件結(jié)束圆到,并將收入和稅金輸出到文件tax. out怎抛。 檢查...
    SeanC52111閱讀 2,754評論 0 3
  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy閱讀 9,506評論 1 51
  • 類是一個重要的C#編程概念,它在一個單元內(nèi)定義了表示和行為芽淡。類提供了面向?qū)ο缶幊毯兔嫦蚪M件編程所需的語言支持马绝,是創(chuàng)...
    CarlDonitz閱讀 814評論 0 2
  • 一 前幾天帶著趙老師到營業(yè)部做一筆理財業(yè)務。這一筆是去年存的挣菲,趙老師不放心富稻,假如虧了怎么辦?所以她要取出來白胀,...
    江蘇劉志祥閱讀 150評論 0 0
  • 6月的驕陽或杠,6月的細雨哪怔,6月的希翼,6月的離別,我們不散不見认境。 6月胚委,一個熱情似火的季節(jié)。 6月的驕陽元暴,就像我們畢...
    知足且上進閱讀 471評論 4 1