後三章知識梳理

2021-09-24 16:29:44 字數 3145 閱讀 1857

第8章 運算子過載

1.基本概念

定義:將運算子看作是一種特殊的函式:運算元是函式的引數,運算結果是函式的返回值

函式名由關鍵字operator 和其後要定義的運算子組成

通常宣告為類的友元,以便訪問私有資料成員

賦值(=)、下標()、函式呼叫(())和成員函式訪問箭頭(->)運算子必須是成員函式

可以過載的運算子

2.常用運算子的過載

①一元運算子字首和字尾形式都會改變物件,不能對常量物件操作

字首形式返回改變後的物件,字尾形式返回改變之前的值

字尾形式的自增和自減比字首形式多乙個int引數,這個引數在函式中並不使用,只是作為過載函式的標記來區分字首和字尾運算

過載自增和自減運算子時應同時定義字首和字尾形式

②二元運算子

賦值運算子只能用成員函式過載

復合賦值運算子可以用成員或非成員過載

③輸入輸出運算子的函式原型

istream& operator>>(istream&, type&);

ostream& operator<

3.過載下標運算子

乙個是非const 成員函式並返回引用

另乙個是const 成員函式並返回const 引用或值

5.函式呼叫運算子

如果類過載了函式呼叫運算子operator(),就可以像使用函式一樣使用該類的物件。

如果乙個類定義了函式呼叫運算子,那麼該類的物件稱為函式物件,或者仿函式。

函式物件類除了operator()之外還可以包含其他成員

第9章 組合與繼承

1.組合

定義:將乙個類的物件作為另乙個類的成員,被稱作組合或包含。物件成員的初始化:

建立包含物件成員的組合物件時,會執行成員類的建構函式初始化物件成員

成員初始化的次序和成員宣告的次序相同,並不考慮它們在初始化列表中的排列順序當

組合物件被撤銷時,會執行其析構函式,成員物件的析構函式也會被執行

析構函式的執行次序和建構函式相反

2.繼承

定義:在已有類的基礎上建立新類的過程。

被繼承的已有類稱為基類

繼承得到的新類稱為派生類

派生類可以再被繼承,這樣構成的層次結構稱為繼承層次

類繼承關係的語法形式

class 派生類名 : 基類名錶

;派生類的生成過程經歷了三個步驟:

●吸收基類成員(全部吸收(構造、析構除外),但不一定可見)

●改造基類成員

●新增派生類新成員

3.重名成員

派生類定義了與基類同名的成員,在派生類中訪問同名成員時遮蔽了基類的同名成員。

在派生類中使用基類的同名成員,顯式地使用類名限定符:

類名 :: 成員

派生類中訪問靜態成員,用以下形式顯式說明:

類名 :: 成員

物件名 . 成員

派生類建構函式宣告為

派生類建構函式 ( 變元表 ) : 基類 ( 變元表 ) , 物件成員1( 變元表 )

… 物件成員n ( 變元表 ) ;

建構函式執行順序:基類 物件成員 派生類

4. 派生類建構函式和析構函式的定義規則

派生類建構函式和析構函式的使用原則

①基類的建構函式和析構函式不能被繼承

②如果基類沒有定義建構函式或有無參的建構函式, 派生類也可以不用定義建構函式

③如果基類無無參的建構函式,派生類必須定義建構函式

④如果派生類的基類也是派生類,則每個派生類只負責直接基類的構造

⑤派生類是否定義析構函式與所屬的基類無關

在c++中,派生類建構函式的一般格式為:

派生類::派生類名(引數總表):基類名(參數列)

注意:這是基類有建構函式且含有引數時使用

5.多繼承

乙個類有多個直接基類的繼承關係稱為多繼承

多繼承宣告語法

class 派生類名:訪問控制 基類名1 , 訪問控制 基類名2 , … , 訪問控制 基類名n

多繼承的建構函式

派生類名(引數總表):基類名1(參數列1),基類名2(參數列2),…,基類名n(參數列n)

第10章 虛函式與多型

1.多型性:指乙個名字,多種語義;或介面相同,多種實現。

虛函式:冠以關鍵字 virtual 的成員函式。

過載函式是多型性的一種簡單形式。

虛函式允許函式呼叫與函式體的聯絡在執行時才進行,稱為動態聯編

實現執行時多型的關鍵首先是要說明虛函式,另外,必須用基類指標呼叫派生類的不同實現版本

注意:①乙個虛函式,在派生類層介面相同的過載函式都保持虛特性。乙個虛函式無論被繼承多少次,保持其虛函式特性。

②虛函式必須是類的成員函式

③虛函式可以是另乙個類的友元

④析構函式可以是虛函式,但建構函式、內聯成員函式、靜態成員函式不能是虛函式。

⑤在派生類中過載基類的虛函式要求函式名、返回型別、引數個數、引數型別和順序完全相同

⑥派生類應該從它的基類公有派生。

⑦必須首先在基類中定義虛函式。

⑧派生類對基類中宣告虛函式重新定義時,關鍵字virtual可以不寫。

⑨一般通過基類指標訪問虛函式時才能體現多型性。

2.純虛函式

純虛函式是乙個在基類中說明的虛函式,在基類中沒有定義, 要求任何派生類都定義自己的版本。

純虛函式說明形式:

virtual 型別 函式名(參數列)= 0 ;

乙個具有純虛函式的基類稱為抽象類

第三章知識梳理

乙個典型的jquery選擇器的語法格式為 selector methodname id選擇器 id 利用dom元素的id屬性值來篩選匹配的元素,並以jquery包裝集的形式返回給物件。元素選擇器是根據元素名稱匹配相應的元素,指向的是dom元素的標記名,多數情況下元素選擇器匹配的是一組元素。注意 eq...

jquery第三章知識梳理

一.基本選擇器 1.id選擇器 特點 最快,盡量使用id選擇器。作用 返回匹配id屬性值的所有元素。用法 katex parse error expected eof got at position 4 mydiv 說明 返回h elementname 說明 返回html頁面中元素為elementn...

C Primer Plus 第三章之知識梳理

一些約定的用字首來表示變數型別或內容的字首 n 表示整型變數 str或者sz 表示以空字元結束的字串 b 表示布林值 p 表示指標 c 表示單個字元借助 include標頭檔案和sizeof就可以看到不同型別的資料的最大最小值和資料的位數 bytes include include include ...