1、複製建構函式:是一種特殊的函式,它以同類物件作為引數,並新建乙個物件作為副本;如果我們自己沒有定義複製建構函式,則編譯器將自動生成乙個;複製建構函式用於在構造新物件的過程中將物件的內容複製到新物件中。
2、在下列三種環境下,會呼叫複製建構函式:將某個物件初始化為同乙個類中的另乙個物件時;將物件當作引數傳遞給函式時;函式返回物件時。
3、賦值操作符:預設的賦值操作符只是逐個位元組地將源物件複製到目標物件,如果資料成員包含指標,則目標物件中的指標就和源物件的指標指到了同一塊位址。
4、型別轉換建構函式:複製建構函式使用同類物件作為引數他建新物件,當需要用基本資料型別或其他類的物件建立新物件時,就用到此類函式;兩個不同的類的物件之間的轉換可以使用建構函式或使用轉換函式來實現。
5、型別轉換函式:是用於在物件與基本資料型別之間以及在不同類的物件之間進行轉換的成員函式;因為編譯器對使用者自定義一無所知,所以必須定義轉換函式。
6、從使用者自定義型別到基本資料型別的轉換:要求使用者自定義型別提供轉換函式;轉換函式是用於在物件與基本資料型別之間進行轉換以及在不同類的物件之間進行轉換的成員函式。
7、不同類的物件的轉換:從乙個類的物件轉換為另乙個類的物件可以使用賦值操作符來完成,但是因為編譯器對使用者自定義的型別一無所知,所以需要在函式中指定轉換指令;此函式可以是源類(即位於賦值操作符右邊的部分)的成員函式,也可以是目標類(賦值操作符左邊的部分)的成員函式。
8、兩個不同類的物件之間的轉換可以使用兩種方法實現:使用建構函式或使用轉換函式;轉換函式通常在源類中定義,而單引數建構函式通常在目標類中定義。
《物件導向基礎 C 實現》學習筆記之五
1 reffunction.cpp include class person 類person結束 void main 2 time.cpp include class time void display 檢查分鐘數是否小於60 if minutes 60 void main 3 p119 示例缺少的...
JS 物件導向實現 學習總結
1.js是完全的物件導向語言,其中類的建立格式如下 var person 注意的是字段的賦值是冒號取代 與lua表的區別 欄位的訪問 1.person.name 2.person name 欄位的新增直接類名.新加的欄位名 內容 或者是 方法 欄位的刪除 delete 欄位的訪問 console.l...
物件導向基礎之四
11.集合 集合與陣列。陣列優點,比如說陣列在記憶體中連續儲存,因此可以快速而容易地從頭到尾遍歷元素,可以快速修改元素。缺點是建立時必須要制定陣列變數的大小,還有在兩個元素之間新增元素也比較困難。net framework提供了用於資料儲存和檢索的專用類,這些類統稱集合。這些類提供對堆疊 佇列 列表...