1 編譯器生成的成員函式
(1)預設建構函式
這個不做詳細的介紹,相信的大家已經很了解了。
(2)複製建構函式
classname(const classname &);
在下述情況下將使用複製建構函式
a)將新的物件初始化為乙個同類的物件
b)按值就物件傳遞給引數
c)函式按值返回物件
d)編譯器生成臨時物件
(3)複製操作符
classname & operator= (const classname &);
不要將複製和初始化混淆了,如果建立新的物件則是初始化,如果語句修改已有物件的值,則是賦值
classname object1;
classname ob2 = object1; // 這是初始化
classname ob3;
ob3 = object1;//這是賦值
之所以要區分開,是因為賦值和初始化預設呼叫的函式是不同的
2 其他類方法
(1)建構函式 不做介紹
(2)析構函式 這裡注意,在類的繼承的中,即使基類不需要析構函式,也應該定義乙個虛擬的析構函式。這
是很好的程式設計習慣
(3)轉換函式
(4) 按值傳遞物件與傳遞引用
通常使用物件作為引數時,應該按引用而不是按值傳遞物件,其原因主要有兩點:
a)提高效率。按值傳遞時要生成臨時物件,就會呼叫複製建構函式,然後還要呼叫析構函式,要花費很多時間,如果不修改物件的值,最好加上const
b)在使用虛函式時,按引用傳遞,可以讓基類型別的引數接受派生類的物件
(5)返回物件和返回引用
原則是方法如果能返回引用,就不用返回物件,即引用首選
類的學習總結
一 類 1.概念 類是對具有相同屬性和行為的一組物件的抽象與統一描述。是使用者自定義的資料型別 屬性以資料表示,行為通過函式實現 c 中,類的名字就是使用者自定義的型別的名字。可以象使用基本型別那樣來使用它 2.格式 class 類名 類名的首字母大寫 類的定義以分號結束,不可省略 注 1 資料成員...
C 類和物件學習總結
1 什麼是類?物件導向系統由一組互動的物件構成,每個物件有自己的屬性和行為,物件所屬的型別成為類,類是對一組具有相同屬性和行為物件的抽象。類的基本思想是資料抽象和封裝。類可以具有資料成員,也可以具有成員函式。結構體內的函式被稱為成員函式,結構體中的資料則稱為資料成員。這樣的結構體就是類,這種結構體型...
C 類中的static成員學習總結
c 類中的static成員學習總結 c 類背後蘊含資料抽象和封裝思想。資料抽象是一種依賴於介面和實現分離的程式設計技術。封裝是一項將低層次的元素組合起來形成的新的 高層次實體。對於類而言c 的全域性物件會破壞封裝 全域性物件需要支援特定類的抽象的實現。因為c 類是資料抽象和封裝的結果,在定義類的時候...