c 學習 類的設計總結

2021-08-23 13:46:21 字數 861 閱讀 8167

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 類是資料抽象和封裝的結果,在定義類的時候...