學會動態分配記憶體
用前面介紹的方法定義的物件是靜態的,在程式運
行過程中,物件所佔的空間是不能隨時釋放的。但
有時人們希望在需要用到物件時才建立物件,在不
需要用該物件時就撤銷它,釋放它所佔的記憶體空間
以供別的資料使用。這樣可提高記憶體空間的利用率
box *pt=new box(12,15,18);這種寫法是把上面兩個語句(定義指標變數和用new
建立新物件)合併為乙個語句,並指定初值。這樣
height width和length更精煉。新物件中的height width length
height,width length分別獲
12,15,18
釋放記憶體
delete pt;
物件的賦值和複製
賦值:直接用 = 號
物件之間的賦值也是通過賦值運算子「=」進行的。
本來,賦值運算子「=」只能用來對單個的變數賦
值,現在被擴充套件為兩個同類物件之間的賦值,這是
通過對賦值運算子的過載實現的。
物件名1 = 物件名2;
注意事項:
(1) 物件的賦值只對其中的資料成員賦值,而不對
成員函式賦值。
(2) 類的資料成員中不能包括動態分配的資料,否
則在賦值時可能出現嚴重後果。
複製:有時需要用到多個完全相同的物件。此外,有時需
要將物件在某一瞬時的狀態保留下來。這就是物件
的複製機制。用乙個已有的物件快速地複製出多個
完全相同的物件
box box2(box1);其作用是用已有的物件box1
box1去轉殖出乙個新物件box2。
其一般形式為
類名 物件2((物件1)
賦值與複製的區別
物件的賦值是對乙個已經存
在的物件賦值,因此必須先定義被賦值的物件,才
能進行賦值。而物件的複製則是從無到有地建立一
個新物件,並使它與乙個已有的物件完全相同(包
括物件的結構和成員的值
C 小細節7 物件導向
04 23 2020 動態繫結 runtime binding 抽象基類 訪問控制與繼承 友元與繼承 繼承中的類作用域 虛析構函式 繼承與容器 物件導向程式設計的核心思想是資料抽象 繼承和動態繫結。1 繼承 定義相似的型別並對其相似關係建模 動態繫結 忽略相似型別的區別 派生類必須在其內部對所有重新...
Web開發中的小細節
專案結束了,國內的弟兄們在辛苦的加班的對應著。專案的測試一直不太讓人放心,在客戶的反饋中,出了很不應該出的bug,是忽視?是沒有注意?我不那麼看,還是水平不夠,尤其是作為專案的leader,在對專案整體的結構分析和問題把握沒有很認真的去做,在做完ut很多人包括我自己在內都鬆懈了下來,在對敏感字元的處...
IO流中的其他物件
管道流 piped stream public class io62 1 class input 輸入 implements runnable public void run catch exception e class output 輸出 implements runnable public v...