C 淺層複製建構函式和深層複製建構函式

2021-06-25 23:35:25 字數 739 閱讀 8664

//***** 淺層複製建構函式 *****

class person

; person(person &one) // 自定義淺層複製建構函式,就是複製乙個物件,說到底,就是複製傳進來的物件的所有成員變數,實際上,系統的預設淺層複製建構函式也是類似這樣的原理

~person(){};

void setheight(int h)

int getheight()

void setweight(int w)

int getweight()

private:

int height;

int weight;

};//***** 淺層複製建構函式原理 *****

void test1()

//***** 深層複製建構函式 *****

class cube

~cube()

cube(const cube &cube) // 自定義深層複製建構函式

void setwidth(int w)

int getwidth()

void setheight(int h)

int getheight()

private:

int *width;

int *height;

};//***** 深層複製建構函式原理 *****

void test2()

淺層複製和深層複製

淺層複製 深層複製 物件的淺層複製 class point point int x,int y x x y y int getx int gety void move int t,int q private int x,y class pts point類的動態陣列 封裝成了類 由上圖可知,上面的程...

深層複製與淺層複製

複製物件時需要複製建構函式 預設的複製建構函式實現的是物件的資料成員之間一一對應的這種複製,這種複製被稱為淺層複製。淺層複製 實現物件間資料元素的一一對應複製。使用預設拷貝建構函式複製物件時,實際上是將新建立的物件的指標指向被複製的物件指向的記憶體單元,即兩個物件指向同一塊記憶體單元。深層複製 可使...

c 一般指標的深層複製和淺層複製 1

如下 int first int second first new int 5 second first 此時,first和second指標指向同乙個位址,都指向first所在的位址 如果此時執行如下語句,delete second 那麼first和second所指向的陣列被刪除 因為共用乙個位址 ...