c 基礎 筆記(五)

2021-08-09 07:15:29 字數 1852 閱讀 9948

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...