第8章 運算子過載
1.基本概念
定義:將運算子看作是一種特殊的函式:運算元是函式的引數,運算結果是函式的返回值
函式名由關鍵字operator 和其後要定義的運算子組成
通常宣告為類的友元,以便訪問私有資料成員
賦值(=)、下標()、函式呼叫(())和成員函式訪問箭頭(->)運算子必須是成員函式
可以過載的運算子
2.常用運算子的過載
①一元運算子字首和字尾形式都會改變物件,不能對常量物件操作
字首形式返回改變後的物件,字尾形式返回改變之前的值
字尾形式的自增和自減比字首形式多乙個int引數,這個引數在函式中並不使用,只是作為過載函式的標記來區分字首和字尾運算
過載自增和自減運算子時應同時定義字首和字尾形式
②二元運算子
賦值運算子只能用成員函式過載
復合賦值運算子可以用成員或非成員過載
③輸入輸出運算子的函式原型
istream& operator>>(istream&, type&);3.過載下標運算子ostream& operator<
乙個是非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 ...