1.分為帶有指針的類(lèi)枫耳,和不帶有指針的類(lèi)。
2.c++代碼基本形式孟抗,頭文件(.h文件)& 主程序(.cpp文件迁杨,可能因?yàn)槠脚_(tái)不同,名字有所不同凄硼,比如.hpp)& 標(biāo)準(zhǔn)庫(kù)铅协。
3.頭文件&標(biāo)準(zhǔn)庫(kù)在主程序中使用,標(biāo)準(zhǔn)庫(kù)的引入方式(#include <xxxxx> 摊沉,如果引入C的部分#include <cxxxxx>)狐史,引入自己寫(xiě)的頭文件(#include "xxxx.h")注意引入的寫(xiě)法
4.頭文件,防衛(wèi)式聲明 #ifndef __XXXXX__ , #define __XXXXX__ ,已#endif結(jié)束说墨。
5.前置聲明骏全,類(lèi)聲明,類(lèi)定義尼斧。
6.class的設(shè)計(jì)有class head & class body 姜贡,在class本體里定義的函數(shù)為inline,inline 的編譯有編譯器去決定棺棵,inline定義的函數(shù)編譯器會(huì)盡量去編譯成inline函數(shù)楼咳。public關(guān)鍵字為公開(kāi)的,構(gòu)造此類(lèi)后可以在別的類(lèi)中調(diào)用該類(lèi)的函數(shù)烛恤。private關(guān)鍵字聲明為私有的母怜,私有為本類(lèi)自己使用。public & private 組成訪問(wèn)級(jí)別缚柏。
7.class的構(gòu)造函數(shù)苹熏,構(gòu)造函數(shù)和類(lèi)名相同,可根據(jù)自己需要來(lái)寫(xiě)參數(shù),也可給參數(shù)附加默認(rèn)值柜裸,可使用初值列缕陕,初始列粱锐。?
8.double real() const {return re ;} ,此函數(shù)返回本類(lèi)的私有變量疙挺,不會(huì)改變變量值,可以在此位置加上const 怜浅。const為常量關(guān)鍵字铐然,可以用在類(lèi)的前面,此對(duì)象不可更改其值恶座。
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可以拿本類(lèi)的私有變量漆弄,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è)對(duì)象時(shí)候可以使用retrun by reference 褐奥。
13.操作符重載界赔,某個(gè)對(duì)象調(diào)用方法有個(gè)隱藏的參數(shù)譬挚,參數(shù)為調(diào)用對(duì)象的本身奸绷,可以用this來(lái)取值设捐。?