C 重點語法概要

2021-09-25 07:18:48 字數 2271 閱讀 6956

cpp重點語法概要

*   文 件 名:cpp

重點語法概要

*   檔案格式txt/pdf

*   時    間:2010-09-26 / 21:18

*   作    者:geniusgogo

*   ****:[email protected]

語法基礎篇

1、引用

>不能建立引用的引用

>不能建立引用陣列和陣列引用

>不能建立指向引用的指標

2、名字空間

space_name::memname;//訪問一次

using namespace space_name::memname;//引用乙個

using namespace space_name;//引用乙個空間

3、類的常量成員函式

>只有類的成員函式才能申明為常量函式

>常量函式不能修改資料成員

>申明和實現型別都必須加上const

4、建構函式的初始化列表

>初始化列表的成員之間用逗號隔開

>每個列表成員都用括號複製

>常量成員、引用成員、類物件成員、呼叫基類建構函式都需要用初始化列表方式

5、類的靜態成員

>必須在類中宣告為static

>在類外進行定義,不能加上static

>必須在類外進行定義並賦初始值

>類中的static函式只能訪問類中的static成員

6、友元關係

>友元函式和友元成員函式是有區別的

>友元類的所有成員函式都是另一類的友元成員函式

>友元關係只是單向的

7、繼承關係

>子類不能夠繼承到父類的靜態成員、友元成員、建構函式和析構函式

>基類的private資料成員在子類中已經加鎖,要想訪問只能通過父類繼承過來的方法

>繼承中子類的同名成員對基類的成員具有隱藏作用,要想訪問基類被隱藏的成員需要加上網域名稱限定方式

>建構函式的次序是:

基類建構函式-->成員物件建構函式-->派生類建構函式

>當基類沒有無引數型別的建構函式時則在子類中必須定義建構函式

>子類只負責直接基類的構造函式呼叫,但是需要負責虛基類的構造

>虛擬繼承的類在子類中只有乙份拷貝,從而解決了同名成員的二義性

8、子類和基類的關係

>可以用子類的物件賦值給基類物件

>可以用子類的物件的位址賦值給基類指標

>可以用子類的物件賦值給基類物件的引用

>以上三種方式可以通過基類物件呼叫子類從基類繼承的成員,但不能訪問子類新成員

9、虛函式特性

>當基類的成員函式宣告為virtual後,那麼在子類的同原型函式也是虛函式

>如果子類過載了基類的virtual函式後,則子類的過載函式是普通函式,不具有virtual特性

>基類訪問子類的成員時,如果訪問的是virtual成員那麼將訪問到的是指標或者引用實際所

指的成員(多數是用來訪問子類的)

>子類呼叫基類繼承來的函式時,如果其中有呼叫虛函式,則也會呼叫到子類的虛函式

>static函式不能定義為virtual函式,inline函式也不能定義為virtual函式

>釋放基類指向子類物件的指標時,需要將析構函式宣告為virtual屬性

10、純虛函式

>在類中宣告的時候被賦值為0且沒有實現**的函式稱為虛函式

>具有純虛函式的類是抽象類,不能用來定義物件

>可以認為這種實現方式稱為介面

11、運算子過載

>(.、 .*、 ::、 ?:、 #、 sizeof、 typeid)不能被過載

>(=、 、 ()、 ->)只能被類的靜態成員函式過載,其他運演算法過載函式不能是靜態的

>過載運算子函式不能使用預設引數,且不能改變其原本的運算子所需的引數個數和意義

>如果是友元運算子過載,則函式的引數個數必須和運算子實際需要的個數相同

>如果是類的成員運算子過載,則函式的引數個數應比實際需要的引數少乙個

>如果死類成員函式過載的運算子,則在呼叫的時候應該注意引數的順序

>在單目運算子過載中,預設都是字首形式

>要想實現單目運算子的字尾過載則必須在參數列中增加乙個無用的形式引數(只寫引數型別)

>賦值運算子的過載,就是大多數情況下提到的拷貝建構函式,拷貝建構函式在預設的情況下

由編譯器自動新增,但是功能上只是簡單的按值拷貝,如果在遇到指標共享記憶體的情況可

能會出現共享記憶體被釋放,而另乙個指標還在指向這個被釋放了的記憶體區域

C 類與物件重點概要

一 c 中struct和class的區別 c 需要相容c語言,所以c 中struct可以當成結構體去使用,另外c 中struct還可以用來定義類,和class是定義類是一樣的,區別是struct的成員預設訪問方式是public,class是struct的成員預設訪問方式是private。二 類的例項...

Freemarker語法概要

freemarker基本語法 訪問請求 servlet action獲取資料 跳往目標模板頁面ftl pojo public class student implements serializable 例如在乙個 servlet 中組織將要在模板中使用到的資料 system.out.println ...

完善README Markdown語法概要總結

我想換行,我可以後面空兩格再回車 這是我第一次換行 我也可以直接隔一行 這是我第二次換行哦 俺是刪除線啦 俺是刪除線啦 咱是下劃線哦咱是下劃線哦 引用 這篇部落格主要參照菜鳥教程 com com 菜鳥教程 這篇部落格主要參照菜鳥教程 1 文字屬性 位址 文字 鏈結 鏈結 用變數作為 鏈結 不知道 啥...