溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

c++筆記續(xù)

發(fā)布時間:2020-03-02 02:05:21 來源:網(wǎng)絡(luò) 閱讀:362 作者:a_liujin 欄目:系統(tǒng)運維

<center>c++筆記</center>

1.c++的變量初始化只有2種

  • 直接初始化:使用括號,int a(10);
  • 復(fù)制初始化:使用=,int a=10; (對象的復(fù)制構(gòu)造函數(shù))

2.cin與getline讀字符串

  • cin讀入字符串以空格為分割
  • getline(cin,line)讀入字符串,以‘\n’為分割

3.函數(shù)指針

bool lencom(void);
typedef bool (*fun)(void);
fun pf1 = lencom;
fun pf1 = &lencom; //獨立函數(shù)直接使用函數(shù)名和在前面加&是等效的。
成員函數(shù)必須使用&

4.默認(rèn)構(gòu)造函數(shù)

  • 默認(rèn)構(gòu)造函數(shù)的調(diào)用時機:在定義一個對象時,只要沒有提供初始化式,就將調(diào)用默認(rèn)構(gòu)造函數(shù)。
  • 類的默認(rèn)構(gòu)造函數(shù):一個類哪怕只定義了一個構(gòu)造函數(shù),編譯器將不再自動生成默認(rèn)構(gòu)造函數(shù)
  • 自定義默認(rèn)構(gòu)造函數(shù):無參構(gòu)造函數(shù)是該類的默認(rèn)構(gòu)造函數(shù)。
  • 使用默認(rèn)構(gòu)造函數(shù):

    Sales_item myobj(); #error 申明一個函數(shù)而不是定義對象;
    Sales_item myobj;#正確,調(diào)用默認(rèn)構(gòu)造函數(shù)
    Sales_item myobj=Sales_item();#正確,復(fù)制賦值

5.復(fù)制構(gòu)造函數(shù)

  • 使用時機:當(dāng)使用一個同類型的對象對新定義的對象進行初始化時,將顯式的使用復(fù)制構(gòu)造函數(shù);當(dāng)將該類型的對象傳遞給函數(shù)或從函數(shù)返回該類型的對象,將隱式使用復(fù)制構(gòu)造函數(shù);初始化順序容器中的元素;根據(jù)元素初始化式列表初始化數(shù)組元素。例如:vector<string>svec(5)的過程為編譯器首先使用string的默認(rèn)構(gòu)造函數(shù)創(chuàng)建一個臨時值來初始化svec,然后使用復(fù)制構(gòu)造函數(shù)將臨時值復(fù)制到svec的每一個元素。
  • 默認(rèn)復(fù)制構(gòu)造函數(shù):如果該類不存在復(fù)制構(gòu)造函數(shù),那么編譯器總是會為該類合成一個復(fù)制構(gòu)造函數(shù)。該合成的默認(rèn)構(gòu)造函數(shù)的行為是,執(zhí)行逐個成員初始化,將新對象初始化為原對象的副本,即非static成員完全保持相同。
  • 禁止復(fù)制 使用private修飾復(fù)制構(gòu)造函數(shù)可以禁止復(fù)制
向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI