1 強化訓練-陣列類封裝
1.1 屬性
1.1.1 容量
1.1.2 大小
1.1.3 指標 - 指向堆區的指標
1.2 函式
1.2.1 預設構造
1.2.2 有參構造
1.2.3 拷貝構造
1.2.4 析構
1.2.5 get
1.2.6 set
1.2.7 pushback
2 運算子過載 – 加號
2.1 編譯器不清楚如何相加
自定義的資料型別
2.2 例如 person p1 person p2 p1+ p2
2.3 如果想讓編譯器知道如何運算,需要過載+運算子
2.4 有兩種方式過載
2.4.1 通過成員函式
2.4.2 通過全域性函式
2.5 函式名 operator+
2.6 實現p1 + p2 本質
p1.operator+(p2) operator+(p1,p2)
2.7 一元
二元運算子過載
2.7.1 如果全域性中是乙個引數
,就是一元
2.7.2 如果成員中是乙個引數
,就是二元
2.8 不要隨便濫用運算子過載,而且內建的資料型別
是不可以過載
3 左移運算子過載
3.1 cout << 自定義資料型別 ,系統不認的
3.2 過載
《運算子
3.3 過載左移
《運算子 不能寫到成員函式中
3.4 只能寫到全域性中做過載
3.5 ostream& operator<<( ostream& cout ,person &p )
3.6 return cout 之後就可以做鏈式程式設計
3.7 如果想讓全域性函式訪問到 person類中的私有,需要配合友元
4 前置後置++運算子過載
4.1 myinter類 自定義類 內部有個屬性
num = 0
4.2 需求: cout << ++myint 或者
cout << myint ++;
4.3 前置++
4.3.1 myinter& operator++( )
4.4 後置++
4.4.1 myinter operator++( int )
5 智慧型指標
5.1 person類如果在堆區建立,忘了釋放,導致記憶體洩露
5.2 建立出乙個智慧型指標類,託管person類在堆區建立的物件
5.3 智慧型指標類中
維護乙個 person*
5.4 智慧型指標在棧建立,當只能指標物件釋放時候,會自動幫你釋放person物件
5.5 smartpoint sp (new person)
5.6 sp->成員函式
(*sp).
成員函式
5.7 需要過載 -> 和 *
6 賦值運算子過載
6.1 系統預設給類提供 4個函式
6.1.1 預設構造
拷貝構造
析構函式 operator=
6.1.2 預設的operator= 只會進行簡單的值拷貝
6.1.3 如果成員屬性有指向堆區的內容
6.1.4 需要自己重新 =運算子,重新開闢新的空間,防止深淺拷貝問題
6.2 返回值
引用就可以做 c = a =b;
7 運算子過載
7.1 把強化訓練陣列封裝中的通過索引設定和獲取內容作了擴充
7.2 int& operator(int index)
7.3 return this->paddress[index];
JAVA基礎筆記(五)
static 定義不通過物件控制的屬性 static 屬性描述的是公共屬性,回報存在公共資料區裡面 內部類 類中的類 class a 內部類最大的優點 可以方便的訪問外部類的私有屬性,內外部類之間都可以驚醒私有屬性的訪問 不需要getset方法了,檔案中的內部類的class檔案 a b.class ...
c語言基礎(五)
型別名 int 10 變數名 arr int arr 10 表示包含十個int型別元素的陣列。定義陣列的時候,陣列的大小就確定了 完全初始化 int arr s 陣列沒有制定大小,編譯器預設後面的初始化是完全初始化 在陣列中,有 則初始化,另外上式中5後邊的,不影響 s這個數規定陣列大小,當然也可以...
C 基礎入門 五
public long fib int n static int fun int n public class student class mainclass class car public class person public class student person public class...