在處理物件上new和malloc有著本質的不同.
new能自動呼叫相關物件的建構函式
而使用malloc只是單純的分配記憶體,不會去呼叫相關物件的建構函式
class coordinate
;class line
;line::line(int x1,int y1,int x2,int y2)
//:m_coora(x1,y1),m_coorb(x2,y2)
{m_pcoora=new coordinate(x1,y1);
m_pcoorb=new coordinate(x2,y2);
cout<<"line()"m_pcoora=null;
delete m_pcoorb;
m_pcoorb=null;
cout<<"~line()"m_iy=y;
cout<<"coordinate()::"p->print();
delete p;
p=null;
coutreturn 0;
這個程式的執行結果為先構造座標類,再呼叫line類的建構函式
析構時也先呼叫座標類析構函式,再呼叫line類的析構函式.
c 物件指標
c 指向成員函式的指標好容易錯啊!include using namespace std class time void showtime 主要看 void time p3 p3 time showtime t2.p3 這幾串 第一行 定義指向time類公用成員函式的指標變數p3,void是函式型別...
C 物件與指標
物件與指標 class a int y privated int x 1,物件引用成員 a a a.fun a.y 0 a.x 0 2,物件指標引用成員 a b a p b p fun p y 0 3,this指標 指向當前操作物件的指標多跟無名物件打交到 4,一般成員變數指標 a dint a p...
C 之物件指標
物件指標 1,指向物件的指標 time pt time t1 pt t1 乙個物件儲存空間的起始位址就是物件的指標,可以定義乙個指標變數,用來存放物件的位址,這就是指向物件的指標變數。訪問物件成員 pt hour pt gettime 2,指向物件成員的指標 1 指向物件資料成員的指標 int p1...