阿牛哥C 筆記 1

2021-06-16 02:54:09 字數 1468 閱讀 2598

第六講 物件指標

定義使用

操作指向的物件

void main()

pt 是指標變數,使用完成後會自動釋放,不用析構函式來釋放。

第七講 記憶體的分配與釋放

靜態記憶體

棧記憶體堆記憶體

堆記憶體分配方式是動態分配

int *p=new int; //new 是運算子

int *p=new int(10); //賦初值

int *p=new int[10];//分配乙個整型的陣列,有10個元素

//不可直接初始化,只能通過其他的語句

//不能動態的釋放,只能手工的釋放

delete p;//釋放位址

delete p;或者 delete [10]p;//釋放陣列

注意點1,new與delete必須配對使用,不釋放會發生記憶體洩漏的現象

2,new乙個陣列時,不要初始化

3,delete乙個陣列時,必須指明陣列

4,乙個指標變數沒有指向乙個指定的記憶體空間時,不能操作指標變數

第八講 變數的引用

別名就是引用

引用的概念

乙個變數的別名叫做引用,對引用的操作就是對變數的直接操作,這本身

不是變數名,也沒有型別,定義時,也不分配空間

先有變數名,然後再有乙個別名

定義格式

int m;

int &n=m;

& 代表別名  n是m的別名

int m=5;

int &n=m;

n=6;

cout《很明顯輸出為6,對引用的操作就是對引用的變數進行操作

注意點&是標識作用,不是求位址

型別標示符是目標變數的型別

宣告引用時,必須同時對其進行初始化

引用宣告完畢後,相當於目標變數名有兩個名稱,原名和引用名,且不能

再作為其他變數的別名

引用本身不佔儲存單元,系統也不分配,

不能建立陣列的引用,因為陣列是乙個集合

不能建立指向引用的指標,因為引用不是一種資料型別,所以沒有引用引

用,沒有引用的指標

主要功能

傳遞函式的引數

返回乙個引用

引用必須有效

不能返回區域性變數的引用

不能建立陣列的引用

不能建立new物件的引用

不能建立引用的引用

第九講 this指標

第十講 this指標

特點只能用在類的成員函式中,它指向呼叫這個函式的物件

區別形參和資料成員

返回物件本身

靜態成員的函式沒有this指標

void main()

cstudent intput(cstudent *this,char *name,int score)

void output()

{cout顯式當形參和資料成員名字相同時

返回當前物件本身時

隱式形參和資料成員名字不同時

阿牛哥C 筆記 3

阿牛哥c 第十四講 實驗三 物件的釋放方法,析構函式的使用 析構函式前加 和類名相同 沒有引數 且是唯一的 不能過載 實現系統會自動的呼叫析構函式。指標變數會自動的釋放記憶體空間,所以沒有析構的說法 include include strcpy head file class cstudent 習慣...

阿牛哥C 筆記 4 1

第二十講 友元函式 定義乙個函式不是本類的函式,但可以訪問本類的成員。那需要在類中定義這個為友元函式 宣告格式 friend void visit 實驗 二十講 友元函式的使用方法 想用乙個普通函式來操作定義物件的資料成員。在類當中宣告變通函式是這個類的友元函式 include include st...

阿牛哥C 筆記 9

第四十二講 虛基類 class a void a inputa int xx class b void b inputb int xx class c public a,public b void c output 輸出的x是哪個呢 編譯應該會出錯了 那麼要修改output函式 void c out...