對於類ctest
宣告:類物件ctest c1:利用類的建構函式在記憶體中分配一塊記憶體,呼叫了建構函式
類指標ctest *pc1:是乙個記憶體位址值,指向記憶體中存放的類物件,沒有呼叫建構函式
引用成員:
物件用"."
指標用"->"
物件生命期:
若是成員變數,則是類的析構函式來釋放空間
若是函式中的臨時變數,則作用域是該函式體內
指標生命期:
則需利用delete在相應的地方釋放分配的記憶體塊,用new一定要delete
記憶體占用:
物件用的是記憶體棧,是個區域性的臨時變數
指標用的是記憶體堆,是個永久變數,除非你釋放它
函式呼叫:
物件引數,引數傳遞占用的資源就太大了
指標引數,傳過去的就是4個位元組
當類是有虛函式的基類,關於虛函式的呼叫:
類的物件呼叫的是它自己的虛函式
類的指標呼叫的是分配給它空間時那個類的虛函式,要發揮虛函式強大就必須使用指標
對於類的物件和類的指標(用new運算子分配記憶體)在應用時區別 :
1:指標可以實現多型,父類的指標可以指向子類的物件,直接使用物件不行
2:當你希望明確使用這個類的時候,最好使用物件,如果你希望使用c++中的動態繫結,則最好使用指標或者引用
3:在類的宣告尚未完成的情況下,可以宣告指向該類的指標,但是不可宣告該類的物件
5:定義物件例項時就已經分配了記憶體,指標如果沒有new則未分配類物件所需記憶體
類物件和類指標區別
類物件和類指標 本文 student a s.setname a studeng b new student student b b new student b setname b 分析 定義類物件基本格式是 student a 在定義之後就已經為a這個物件分配了記憶體,且為記憶體棧 定義類指標基本...
類指標和類物件的區別
如下程式 include include using namespace std class student void set string str void print 態成員函式 print int student number 0 靜態資料成員初始化 int main int argc,cha...
類物件和類指標的區別
如下程式 include include using namespace std class student voidset string str void print 態成員函式 print int student number 0 靜態資料成員初始化 int main int argc,char...