最近的一些零碎的筆記

來源:互聯網
上載者:User
  1. 當顯示字元類型的指標時,這個指標將顯示字串而不是指標的內容,如果要在字元指標中顯示地址,只需把它強制轉換成void指標
  2. 只有地址可以被儲存在指標變數中
  3. 函數頭結尾處的const,使函數成為常量函數,常量函數不能改變調用對象,主要是為了確保函數不會意外地改變對象。
  4. 建構函式的三種用法

          1)  初始化類資料成員,類的資料成員不能在類的聲明中被初始化,因為每個對象都有自己的變數,並且必須由正在被建立的對象所需要的值來初始化。

          2)  建構函式還可以用於驗證資料。

          3)   建構函式必須用於為對象分配記憶體。

Tip:建構函式不能有傳回型別,即使是空類型,如果提供了任意類型的建構函式,編譯器就不會提供預設的建構函式了。所以一般還是顯式包含一個一個預設的建構函式比較好兩種    5.複製建構函式

       1)  執行對象所有組件的簡單變數和變數之間的賦值複製,也成為位複製

       2)  邏輯複製,複製內容為指標

  6.複製建構函式使用的三種情況

      1)   當使用另一對象作為參數初始化一個對象時

      2)   當對象被值傳遞給函數時

      3)   當對象從函數中返回時

8.類和結構的區別:只有一條,就是資料成員在結構中預設為public,而在類中預設是private。

9.如果函數是被遞迴調用的,就不要使用內嵌函式。

10.不要使用賦值操作符在初始化列表中初始化資料成員。

11.如果想把繼承後的私人類型重新定義為protected類型,就用using和範圍解析操作符重寫它。一個例子

 1 class Base
2 {
3 protected:
4 int dam;
5 };
6 class Derive:private Base
7 {
8 protected:
9 using Base::dam;
10 };

12. 多態性的三個條件:繼承,虛函數,指標或引用

13. 靜態繫結:當建立了類型為基類的的指標時,無論該指標再指向衍生類別的什麼對象,編譯器都會調用和指標類型基類有關的函數,稱為靜態繫結

14. 不能有虛建構函式,但可以建立虛解構函式,不能有虛建構函式,但可以建立虛解構函式,為什麼呢?舉個例子,基類動態分配了一個浮點數數組p,衍生類別動態分配了浮點數數組q,當使用基類指標指向一個衍生類別對象時,這個指標只能看到基類,當這個對象被刪除時,就只有基類數組被刪除,從而給衍生類別造成了記憶體流失。

15.  基類函數被聲明為純虛函數的兩種情況:

1)  
不能參與衍生類別可能需要的動作

2)  
想強制每個衍生類別重定義這個函數

方法:virtual
return_type identifier(parameter list)=0;

16.  抽象類別:至少有一個純虛函數的類,下面為用途

1)  
允許多態性

2)  
可以定義能夠在衍生類別中被繼承並且不用重定義的具體成員

3)  
為必須在衍生類別中重定義的純虛函數提供了模型

17.  向上和向下強制類型轉換:當衍生類別對象被轉換成基類對象時,發生向上強制轉換,當基類對象被轉換成衍生類別對象時,發生向下強制轉換,同時,向下強制轉換指向對象的指標是可以的,但是需要使用動態強制轉換來完成,也就是運行期間完成的。文法如下:dynamic_cast<type>(data);

18.  一個程式的優良性可以由以下原則衡量,一是模組是獨立的,二是函數具有單一的目的。

19.  建構函式,解構函式,非成員函數,和賦值操作符在衍生類別是並沒有被繼承,必須重新定義它們。

20.  基類的建構函式執行時間早於衍生類別的建構函式,而解構函式要晚於衍生類別的解構函式。

21.  對基類建構函式的調用應該在衍生類別的初始化表部分。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.