複製物件時需要複製建構函式
預設的複製建構函式實現的是物件的資料成員之間一一對應的這種複製,這種複製被稱為淺層複製。
淺層複製:實現物件間資料元素的一一對應複製。
使用預設拷貝建構函式複製物件時,實際上是將新建立的物件的指標指向被複製的物件指向的記憶體單元,即兩個物件指向同一塊記憶體單元。
深層複製:(可使用複製建構函式進行深層複製)
當被複製的物件資料成員是指標型別時,不是複製該指標成員本身,而是將指標所指物件進行複製。
相對於淺層複製,深層複製則是開闢新的記憶體空間。
淺層複製和深層複製
淺層複製 深層複製 物件的淺層複製 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 淺層複製建構函式和深層複製建構函式
淺層複製建構函式 class person person person one 自定義淺層複製建構函式,就是複製乙個物件,說到底,就是複製傳進來的物件的所有成員變數,實際上,系統的預設淺層複製建構函式也是類似這樣的原理 person void setheight int h int getheigh...
淺複製與深層複製
一般情況下像c語言的複製語句,會將是對乙個物件的引用複製 例子 a 3 b a 這個例子將a指向記憶體內容為3的,然後後面的賦值語句,只是再一次將b指向了a所指向的 這是對副本進行操作不影響原來物件,但如果對原來物件進行操作,會對副本進行影響 利用歸檔進行深層複製 data nskeyedarchi...