第六講 物件指標
定義使用
操作指向的物件
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...