類的基礎(chǔ)語法

1. 構(gòu)造函數(shù)

  • 單參數(shù)構(gòu)造函數(shù)具壮,需要加explicit, 避免隱式轉(zhuǎn)換
explicit person_t(const std::string& wname):_id(count++),_name(wname) {}
explicit worker_t(const std::string &name):person_t(name),_wage(0), _level(0) {}
  • 初始化列表
    1. 初始化列表可以用來對(duì)于 const object member進(jìn)行初始化
    2. 可以初始化 base class
worker_t():person_t(),_wage(0), _level(0) {}
  • 無參構(gòu)造函數(shù)的調(diào)用
person_t p //正確
person_t p() // 錯(cuò)誤, 函數(shù)聲明

2. 拷貝構(gòu)造函數(shù)

  • 拷貝構(gòu)造函數(shù)也可以有初始化列表
  • 拷貝構(gòu)造函數(shù)聲明如下
person_t(const person_t& other_worker);
  • 如果不需要拷貝構(gòu)造函數(shù),需要將拷貝構(gòu)造函數(shù)聲明為private

3. 賦值函數(shù)

  • 賦值函數(shù)聲明如下
person_t& operator=(const person_t& other_worker);
  • 如果不需要賦值函數(shù),則需要將賦值函數(shù)聲明為private

4. 析構(gòu)函數(shù)

  • 如果類中包含virtual 聲明署海,則虛函數(shù)最好被聲明為virtual
  • 析構(gòu)函數(shù)不能拋出異常倘是,必須處理所有異常

5. override

  • 子類重寫父類的函數(shù)

6. virtual

  • 子類重寫父類函數(shù)
    virtual void info() {
    std::cout << "this is person" << std::endl;
    }
  • 則運(yùn)行時(shí)多態(tài),如果指針指向父類實(shí)例稚矿,則調(diào)用父類的實(shí)現(xiàn),如果指針指向子類實(shí)例,則調(diào)用子類的實(shí)現(xiàn)
    person_t *ptr1 = new worker_t("ptr1"); //調(diào)用worker_t 類的info
    ptr1->info(); 
    delete ptr1;

    person_t *ptr2 = new person_t("ptr2"); //調(diào)用person_t類的info
    ptr2->info();
    delete ptr2;

7. overload

  • 重載指同名函數(shù)的不同實(shí)現(xiàn)晤揣,重載可以因?yàn)閰?shù)的個(gè)數(shù)不同桥爽, 也可以使參數(shù)的類型不同
  • 重載不可以僅僅返回值不同的情況

8. 對(duì)象成員

  • const object member, const 成員正在在初始化列表中進(jìn)行初始化
  • non const object member

9. 類成員

類所有的對(duì)象共享此變量,如下實(shí)例中的ct

class person_t {
public:
    static uint64_t ct;
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末昧识,一起剝皮案震驚了整個(gè)濱河市钠四,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌跪楞,老刑警劉巖形导,帶你破解...
    沈念sama閱讀 217,734評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異习霹,居然都是意外死亡朵耕,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門淋叶,熙熙樓的掌柜王于貴愁眉苦臉地迎上來阎曹,“玉大人,你說我怎么就攤上這事煞檩〈ο樱” “怎么了?”我有些...
    開封第一講書人閱讀 164,133評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵斟湃,是天一觀的道長熏迹。 經(jīng)常有香客問我,道長凝赛,這世上最難降的妖魔是什么注暗? 我笑而不...
    開封第一講書人閱讀 58,532評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮墓猎,結(jié)果婚禮上捆昏,老公的妹妹穿的比我還像新娘。我一直安慰自己毙沾,他們只是感情好骗卜,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,585評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著左胞,像睡著了一般寇仓。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上烤宙,一...
    開封第一講書人閱讀 51,462評(píng)論 1 302
  • 那天遍烦,我揣著相機(jī)與錄音,去河邊找鬼门烂。 笑死乳愉,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的屯远。 我是一名探鬼主播蔓姚,決...
    沈念sama閱讀 40,262評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼慨丐!你這毒婦竟也來了坡脐?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,153評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤房揭,失蹤者是張志新(化名)和其女友劉穎备闲,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體捅暴,經(jīng)...
    沈念sama閱讀 45,587評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡恬砂,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,792評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蓬痒。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片泻骤。...
    茶點(diǎn)故事閱讀 39,919評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖梧奢,靈堂內(nèi)的尸體忽然破棺而出狱掂,到底是詐尸還是另有隱情,我是刑警寧澤亲轨,帶...
    沈念sama閱讀 35,635評(píng)論 5 345
  • 正文 年R本政府宣布趋惨,位于F島的核電站,受9級(jí)特大地震影響惦蚊,放射性物質(zhì)發(fā)生泄漏器虾。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,237評(píng)論 3 329
  • 文/蒙蒙 一蹦锋、第九天 我趴在偏房一處隱蔽的房頂上張望曾撤。 院中可真熱鬧,春花似錦晕粪、人聲如沸挤悉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽装悲。三九已至,卻和暖如春尚氛,著一層夾襖步出監(jiān)牢的瞬間诀诊,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評(píng)論 1 269
  • 我被黑心中介騙來泰國打工阅嘶, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留属瓣,地道東北人载迄。 一個(gè)月前我還...
    沈念sama閱讀 48,048評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像抡蛙,于是被迫代替她去往敵國和親护昧。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,864評(píng)論 2 354

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

  • 1.C和C++的區(qū)別粗截?C++的特性惋耙?面向?qū)ο缶幊痰暮锰帲?答:c++在c的基礎(chǔ)上增添類,C是一個(gè)結(jié)構(gòu)化語言熊昌,它的重...
    杰倫哎呦哎呦閱讀 9,517評(píng)論 0 45
  • 3. 類設(shè)計(jì)者工具 3.1 拷貝控制 五種函數(shù)拷貝構(gòu)造函數(shù)拷貝賦值運(yùn)算符移動(dòng)構(gòu)造函數(shù)移動(dòng)賦值運(yùn)算符析構(gòu)函數(shù)拷貝和移...
    王偵閱讀 1,804評(píng)論 0 1
  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy閱讀 9,517評(píng)論 1 51
  • C++文件 例:從文件income. in中讀入收入直到文件結(jié)束绽榛,并將收入和稅金輸出到文件tax. out。 檢查...
    SeanC52111閱讀 2,782評(píng)論 0 3
  • 1.面向?qū)ο蟮某绦蛟O(shè)計(jì)思想是什么婿屹? 答:把數(shù)據(jù)結(jié)構(gòu)和對(duì)數(shù)據(jù)結(jié)構(gòu)進(jìn)行操作的方法封裝形成一個(gè)個(gè)的對(duì)象灭美。 2.什么是類?...
    少帥yangjie閱讀 5,000評(píng)論 0 14