C Primer Plus 第十三章筆記

2021-08-17 02:56:49 字數 968 閱讀 5129

1.

使用公有派生,基類的公有成員將成為派生類的共有成員;基類的私有部分也將成為派生類的一部分,但只能通過基類的公有和保護方法訪問。

2.派生類建構函式必須使用基類建構函式,意味著基類物件應當在程式進入派生類建構函式之前被建立。如果不呼叫基類建構函式,程式將使用預設的基類建構函式。

3.可將派生類物件和位址賦給基類引用和指標,被稱為向上強制轉換,不需進行顯式型別轉換,其中基類指標或引用只能用於呼叫基類方法;不可以將基類物件和位址賦給派生類引用和指標,被稱為向下強制轉換,若不使用顯式型別轉換,則不允許向下強制轉換。引用相容性屬性使得能夠將基類物件初始化為派生物件。

4.公有繼承:建立一種

is-a

關係,即派生類物件也是乙個基類物件,可以對基類物件執行的任何操作也可以對派生類物件執行。

5.如果沒有使用關鍵字

virtual

,程式將根據引用型別或指標型別選擇方法;若使用了

virtual

,程式將根據引用或指標指向的物件的型別來選擇方法。因此,經常在基類中將派生類會重新定義的方法宣告為虛方法,方法在基類中被宣告為虛的後,它在派生類中將自動成為虛方法。

注意:關鍵字

virtual

只用於類宣告的方法原型中。

6.編譯器對非虛方法使用靜態聯編,對虛方法使用動態聯編。靜態聯編效率更高。

7.建構函式不能是虛函式;

析構函式應當是虛函式,除非類不用做基類;

友元不能是虛函式,因為友元不是類成員,只有成員才能是虛函式。

8.對於外部世界來說,保護成員的行為與私有成員相似;但對派生類來說,保護成員的行為與公有成員相似。

9.當類宣告中包含純虛函式時,只用作基類,即抽象基類(

abc),不能建立該類的物件。純虛函式宣告的結尾處為

=0,在類中不能定義純虛函式。

注意:abc

描述的是至少使用乙個純虛函式的介面。

10.建構函式、析構函式、賦值運算子不能繼承。

c primer plus 第十三章課後程式設計6題

include include include define len 40 int main void 開啟檔案並輸入內容 if in fopen name,w null printf 請輸入檔案內容 n while ch getc stdin eof putc ch,in if fclose in...

c primer plus 第十三章課後程式設計7題

a 交替列印倆個檔案的每一行 include include int main int argc,const char ar if fc fopen ar 2 r null 如果第乙個檔案遇到換行符則列印第二個檔案內容,反之一樣 a 交替列印倆個檔案的每一行。利用檔案指標的特性自動遞增的特點 do ...

c primer plus 第十三章課後程式設計9題

修改程式13.3 在單詞前邊從1開始為單詞編號,程式下次執行時新增新單詞,編號接上次的編號開始 include include include define max 41 int main void puts enter words to add to the file press the puts...