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來取值。?