1.拷貝構造
//拷貝構造的規則,有兩種方式實作初始化。
//1、一個是通過在後面:a(x),b(y)的方式實作初始化。
//2、第二種初始化的方式是直接在構造方法裡面實作初始化。
案例如下:
2.深度拷貝,使用深度拷貝的時候要将配置設定記憶體,這是其中的關鍵點。
上面的運作結果是:
運作結果如下:
3.關于delete和default相關的操作
a:delete可以禁用預設生成的函數,禁用構造可以無法執行個體化,禁用拷貝構造,可以實作禁止别人拷貝你。
b:default的作用是讓函數預設存在。
4.explicit.cpp
5.類的賦初值
第一種方式:
在構造函數後面通過加上
:變量名(變量值)
第二種方式:在構造函數,函數體裡面寫上
變量名=變量值;
第三種方式:類名對象名=變量值
運作結果是:
指派案例2:
6.構造函數與析構函數
a:系統自動生成了構造函數與析構函數
b:被包含的,最先調用構造,最後調用析構
c:包含别人的,最後調用構造,最先調用析構
案例說明:
運作結果截圖:
分析,上面的math類調用fushu這個類,這個結果說明了a,b,c.
7.成員函數和内聯函數
a:内聯函數一般在頭檔案中。
編寫頭檔案:
頭檔案中的實作類
調用函數:
7.關于記憶體
8.關于預設參數
運作結果:
9.在類裡面定義一個靜态變量,實作計數并限制qt中彈出窗體,建立qmainwindow的qt項目。(如果想讓qt支援c++11的文法,需要在qt項目的pro檔案中加入:config
+= c++11,可以再最後面附加上)其中main.cpp的代碼是:
10.靜态函數和普通函數
運作結果是彈出電腦和記事本。
11.函數預設參數,對于給含有預設參數的函數指派的時候,參數的指派将從左往右指派給函數中的參數。
12.加了const之後函數和沒有加const變量的函數的差別:
建立qt項目,編寫代碼:
13.關于友元函數,案例如下(不用修改qt的頭檔案和頭檔案的實作類):
14.友元類,當指向了一個指針的時候一定要初始化。否則将出現錯誤,下面的函數任然是main.cpp中的内容。
友元類案例2
頭檔案qt項目: