C++第一周筆記

1.分為帶有指針的類,和不帶有指針的類。

2.c++代碼基本形式,頭文件(.h文件)& 主程序(.cpp文件,可能因?yàn)槠脚_(tái)不同,名字有所不同,比如.hpp)& 標(biāo)準(zhǔn)庫。

3.頭文件&標(biāo)準(zhǔn)庫在主程序中使用,標(biāo)準(zhǔn)庫的引入方式(#include <xxxxx> ,如果引入C的部分#include <cxxxxx>),引入自己寫的頭文件(#include "xxxx.h")注意引入的寫法

4.頭文件,防衛(wèi)式聲明 #ifndef __XXXXX__ , #define __XXXXX__ ,已#endif結(jié)束。

5.前置聲明,類聲明,類定義。

6.class的設(shè)計(jì)有class head & class body ,在class本體里定義的函數(shù)為inline,inline 的編譯有編譯器去決定,inline定義的函數(shù)編譯器會(huì)盡量去編譯成inline函數(shù)。public關(guān)鍵字為公開的,構(gòu)造此類后可以在別的類中調(diào)用該類的函數(shù)。private關(guān)鍵字聲明為私有的,私有為本類自己使用。public & private 組成訪問級(jí)別。

7.class的構(gòu)造函數(shù),構(gòu)造函數(shù)和類名相同,可根據(jù)自己需要來寫參數(shù),也可給參數(shù)附加默認(rèn)值,可使用初值列,初始列。?

8.double real() const {return re ;} ,此函數(shù)返回本類的私有變量,不會(huì)改變變量值,可以在此位置加上const 。const為常量關(guān)鍵字,可以用在類的前面,此對象不可更改其值。

9.參數(shù)傳遞,pass by value & pass by reference (to const)在掉用函數(shù)時(shí)候,有些函數(shù)需要傳值比如此函數(shù) complex(double r = 0 , double i =0): re(r) , im(i){} 此方法就是pass by value 。 complex& operator += (const complex&);此方法就是為傳遞引用(xxxx& pass by reference 執(zhí)行效率會(huì)很高),在參數(shù)加上 const 是為了不讓函數(shù)里去修改當(dāng)前傳遞值。在函數(shù)的參數(shù)上盡量 pass by reference。

10.返回值:和參數(shù)傳遞上也有 return by value & return by reference (to const) 。盡量返回函數(shù)為 by reference 。

11.friend 友元。friend可以拿本類的私有變量,friend complex& _doapl(complex* , const complex& );在調(diào)用此函數(shù)時(shí)候

inline complex&?

_doapl(complex* ths , const complex& r){

ths->re += r.re;//自由取得friend的private的成員。

ths->im += r.im;

return *ths;

}

12.在返回值不需要去新創(chuàng)建一個(gè)對象時(shí)候可以使用retrun by reference 。

13.操作符重載,某個(gè)對象調(diào)用方法有個(gè)隱藏的參數(shù),參數(shù)為調(diào)用對象的本身,可以用this來取值。?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容